有没有办法在python中编写iff语句(即if和only if)。 我想在
中使用它for i in range(x)
iff x%2==0 and x%i==0:
但是,Python中没有iff
语句。维基百科将truth table for iff定义为:
a | b | iff a and b
-----------------------
T | T | T
T | F | F
F | T | F
F | F | T
如何在Python中完成此操作?
答案 0 :(得分:14)
如果查看truth table for IFF,当p和q都为真或两者都为假时,您可以看到(p iff q)为真。这与检查相等性是一样的,所以在Python代码中你要说:
if (x%2==0) == (x%i==0):
答案 1 :(得分:10)
答案 2 :(得分:2)
之前的答案解决了这个问题。
作为对此的澄清说明:if
语句只接受一个输入,而不是多个输入。因此,当您执行if blah and bleh:
时,它等同于if (blah and bleh):
。首先计算表达式blah and bleh
的真值,然后将结果输入if
语句。
真值表类型的逻辑评估需要多个输入(a
和b
)而不是一个,但if
不能以这种方式工作。
答案 3 :(得分:1)
答案 4 :(得分:0)
只是想知道一样。这是一个有效的快速解决方案
def iff(a,b,c):
if a:
return b
else:
return c