【发布时间】:2018-02-04 17:10:47
【问题描述】:
我想知道如何在 Python 中转换如下字符串:
- “(真假)|真”
- "((假|假)&(真|假))&(假|真)"
布尔答案:
- 是的
- 错误
bool() 函数似乎不起作用。
谢谢,
【问题讨论】:
标签: python string type-conversion boolean
我想知道如何在 Python 中转换如下字符串:
布尔答案:
bool() 函数似乎不起作用。
谢谢,
【问题讨论】:
标签: python string type-conversion boolean
您可以简单地 eval 这些表达式,因为它们是有效的 Python
>>> eval("(True & False) | True")
True
>>> eval("((False | False) & (True | False)) & (False | True)")
False
【讨论】:
eval 的字符串中可能包含不需要的字符,您可以使用以下代码:import re;s = "((False | False) & (True | False)) & (False | True)";if not re.sub(r'[\(\)\|&TrueFals ]*', '', s):eval(s)。这会删除除 True、False 等之外的所有内容。如果还有任何内容,则不会执行 eval。