你如何在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) 我有一个可以接受关键字参数的函数,我想要其中一个.让我们说美元和欧元,我只想要其中一个.现在,我这样做(例证),但我觉得它很复杂.还有其他更好的方法吗?
def set_value(country, **kargs):
if len(kargs) == 1:
if kargs.keys()[0] == 'dollar':
pass # do something
elif kargs.keys()[0] == 'euro':
pass # do something
else:
raise ValueError('One keyword argument is required: dollar=x or euro=x')
else:
raise ValueError('One keyword argument is required: dollar=x or euro=x')
Run Code Online (Sandbox Code Playgroud)
谢谢!