获取条件字符串返回值:真或假
我有一个条件字符串,像下面这样,
condition1 = "((2=2) or (3=1)) and (1=1)"
condition2 = "((2=3) or (1=1)) and (4=5)"
上面的两个条件分别给我输出了 True 和 False。
更多解释:
条件1的工作方式是,
if ((2==2) or (3==1)) and (1==1):
Return True
else:
Return False
条件1的输出:True
条件2的工作方式是,
if ((2==3) or (1==1)) and (4==5):
Return True
else:
Return False
条件2的输出:True
更新:
抱歉,朋友们,
我有像条件1和条件2这样的条件字符串。
我想创建一个函数,当我把条件作为字符串解析时,这个函数能像 if - else 一样工作,并返回布尔值。
请帮帮我……
谢谢,
Chintan
4 个回答
1
在Python中,用来比较的符号是==
。
不管怎样,如果这个方法没有解决你的问题,你应该更清楚地说明我们可以帮你什么。
更新:你想要用来评估一个表示Python表达式的字符串的函数是eval()
。
2
如果你想知道怎么让条件被判断,并让Python给你返回真(True)或假(False)的结果,可以看看Python里的eval()函数。
3
警告:使用 eval
是有潜在危险的,你绝对不应该对不可信的输入使用 eval(比如说 任何 用户输入)。
In [1]: condition1 = "((2=2) or (3=1)) and (1=1)"
...: condition2 = "((2=3) or (1=1)) and (4=5)"
...:
In [2]: eval(condition1.replace('=','=='))
Out[2]: True
In [3]: eval(condition2.replace('=','=='))
Out[3]: False