^字符在逻辑运算中有什么作用
What does the ^ character do in logical operation
我在 codingbat 上练习代码,遇到了这个逻辑问题:
Given a number n, return True if n is in the range 1..10, inclusive. Unless outside_mode is True, in which case return True if the number is less or equal to 1, or greater or equal to 10.
解决方法是:
if n == 1 or n == 10:
return True
return (n in range(1,11)) ^ outside_mode
如果用谷歌搜索“python ^ 符号”或“^ 符号有什么作用 python” Google returns 关于“@”符号和模符号。要找到这个符号的作用并不容易。因此,应该重新提出这个问题,以便为早期程序员找到这些答案提供更好的机会
^
是 bitwise exclusive or(或 XOR)
>>> True ^ True
False
>>> True ^ False
True
>>> False ^ True
True
>>> False ^ False
False
它是按位异或。在Python、True == 1
、False == 0
中,可以使用按位运算符得到等价的布尔运算。
对于单个位,^
与!=
相同,所以这与
本质上相同
return (n in range(1, 11) != outside_mode
我在 codingbat 上练习代码,遇到了这个逻辑问题:
Given a number n, return True if n is in the range 1..10, inclusive. Unless outside_mode is True, in which case return True if the number is less or equal to 1, or greater or equal to 10.
解决方法是:
if n == 1 or n == 10:
return True
return (n in range(1,11)) ^ outside_mode
如果用谷歌搜索“python ^ 符号”或“^ 符号有什么作用 python” Google returns 关于“@”符号和模符号。要找到这个符号的作用并不容易。因此,应该重新提出这个问题,以便为早期程序员找到这些答案提供更好的机会
^
是 bitwise exclusive or(或 XOR)
>>> True ^ True
False
>>> True ^ False
True
>>> False ^ True
True
>>> False ^ False
False
它是按位异或。在Python、True == 1
、False == 0
中,可以使用按位运算符得到等价的布尔运算。
对于单个位,^
与!=
相同,所以这与
return (n in range(1, 11) != outside_mode