相关疑难解决方法(0)

你如何在Python中获得两个变量的逻辑xor?

你如何在Python中获得两个变量的逻辑xor

例如,我有两个我期望成为字符串的变量.我想测试只有其中一个包含True值(不是None或空字符串):

str1 = raw_input("Enter string one:")
str2 = raw_input("Enter string two:")
if logical_xor(str1, str2):
    print "ok"
else:
    print "bad"
Run Code Online (Sandbox Code Playgroud)

^运营商似乎是按位,并在所有对象没有定义:

>>> 1 ^ 1
0
>>> 2 ^ 1
3
>>> "abc" ^ ""
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for ^: 'str' and 'str'
Run Code Online (Sandbox Code Playgroud)

python logical-operators

597
推荐指数
21
解决办法
65万
查看次数

翻转布尔值而不引用它两次

我找了很短的语法,看起来有点像x *= -1这里x是一个数字,但对于布尔值,如果存在的话。它应该表现得像b = not(b). 当变量名称很长时,感兴趣的是能够在一行中翻转布尔值。

例如,如果您有一个程序可以打开|关闭房子里的灯,您希望避免编写完整的内容:

self.lamps_dict["kitchen"][1] = not self.lamps_dict["kitchen"][1]
Run Code Online (Sandbox Code Playgroud)

python python-3.x

5
推荐指数
1
解决办法
155
查看次数

标签 统计

python ×2

logical-operators ×1

python-3.x ×1