在python中使用IFF
有没有办法用python编写iff语句(即if和only if)。 我想把它用在类似的地方在python中使用IFF,python,python-2.7,Python,Python 2.7,有没有办法用python编写iff语句(即if和only if)。 我想把它用在类似的地方 for i in range(x) iff x%2==0 and x%i==0: 但是,Python中没有iff语句。Wikipedia将此定义为: 如何在Python中实现这一点?如果您查看,您可以看到(p iff q)在p和q都为真或都为假时为真。这与检查相等性相同,因此在Python代码中,您会说: if (x%2==0) == (x%i==0): 根据: 请注意,它与XNOR门产生的等
for i in range(x)
iff x%2==0 and x%i==0:
但是,Python中没有iff
语句。Wikipedia将此定义为:
如何在Python中实现这一点?如果您查看,您可以看到(p iff q)在p和q都为真或都为假时为真。这与检查相等性相同,因此在Python代码中,您会说:
if (x%2==0) == (x%i==0):
根据:
请注意,它与XNOR门产生的等效,与XOR门产生的相反
如果这正是你想要的,你只需要:
if not(x%2 == 0 ^ x%i == 0):
前面的答案解决了这个问题 需要说明的是:
if
语句只接受一个输入,而不接受多个输入。因此,当您执行if blah and bleh:
时,它相当于if(blah and bleh):
。表达式blah和bleh
首先计算真值,然后将结果输入if
语句
真值表类型的逻辑求值需要多个输入(
A
和b
),而不是一个输入,但如果不能这样工作,则需要 使用双条件语句等价:
我也在想同样的事情。这里有一个有效的快速修复方法
def iff(a,b,c):
if a:
return b
else:
return c
def iff(a,b,c):
if a:
return b
else:
return c