获取条件字符串返回值:真或假

3 投票
4 回答
1810 浏览
提问于 2025-04-17 14:10

我有一个条件字符串,像下面这样,

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

撰写回答