Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用IFF_Python_Python 2.7 - Fatal编程技术网

在python中使用IFF

在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门产生的等

有没有办法用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门产生的等效,与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