Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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从Xor门得到了奇怪的结果_Python_Xor - Fatal编程技术网

我通过python从Xor门得到了奇怪的结果

我通过python从Xor门得到了奇怪的结果,python,xor,Python,Xor,使用Python的函数定义,我创建了一个函数,当两个输入中只有一个为True时,该函数返回True def xor(a,b): 如果a或b: 如果不是a和b: r=真 其他: r=假 其他: r=假 返回r 如果xor(真、假): 打印('是') 如果xor(真,真): 打印('否') 我思考的结果是 yes 但结果一无所获。 奇怪的是,没有错误,使用的逻辑是错误的。当两个输入都为false时,需要一个括号来检查 def xor(a,b): 如果a或b: 如果不是(a和b): r=真 其他:

使用Python的函数定义,我创建了一个函数,当两个输入中只有一个为True时,该函数返回True

def xor(a,b):
如果a或b:
如果不是a和b:
r=真
其他:
r=假
其他:
r=假
返回r
如果xor(真、假):
打印('是')
如果xor(真,真):
打印('否')
我思考的结果是

yes
但结果一无所获。
奇怪的是,没有错误,

使用的逻辑是错误的。当两个输入都为false时,需要一个括号来检查

def xor(a,b):
如果a或b:
如果不是(a和b):
r=真
其他:
r=假
其他:
r=假
返回r

使用的逻辑错误。当两个输入都为false时,需要一个括号来检查

def xor(a,b):
如果a或b:
如果不是(a和b):
r=真
其他:
r=假
其他:
r=假
返回r

根据
XOR
定义:

def xor(a,b):
返回(非a和b)或(a和非b)
或者:

def xor(a,b):
返回(a或b)和(非a或非b)

根据
XOR
定义:

def xor(a,b):
返回(非a和b)或(a和非b)
或者:

def xor(a,b):
返回(a或b)和(非a或非b)

为什么不试试内置的xor运算符
^

例如:


为什么不试试内置的xor运算符
^

例如:

>>> True ^ False
True
>>> False ^ False
False
>>> True ^ True
False
>>> False ^ True
True
>>>