我试图建立一个布尔表达式,基于(不可预测的)用户输入。我发现我正在构建一个看起来正常但不起作用的字符串。我看过python.org网站,Google和Stackoverflow在这里找不到问题。在
代码示例:
print stringDing
newVariable = stringDing.replace('False','0')
print newVariable
print bool(newVariable)
由此产生的输出:
^{pr2}$但是,当字符串粘贴到python中时,python会按预期响应:
>>> False or False or False
False
我想我需要把它构建成一个字符串,因为用户可以添加'OR'、'AND'和括号,我需要在适当的地方放进去。在
如何继续?在
如果您想在python提示符下计算它的方式,只需执行
eval(stringDing)
。如果它是一个逻辑表达式,它将返回一个bool。在将非空字符串解释为
bool
将始终计算为True
。一、 电子邮箱:这是因为str是一个iterable对象(例如})。所有iterable对象都被认为是
^{pr2}$list
、set
或{True
,如果它们不是空的。str
是一个iterable,它迭代其字符。这很有用,例如,如果您想测试字符串s
是否为空。在这种情况下,你可以写下:但是,如果要计算由字符串表示的表达式,请调用
eval
:相关问题 更多 >
编程相关推荐