相关疑难解决方法(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万
查看次数

需要两个关键字参数中的一个

我有一个可以接受关键字参数的函数,我想要其中一个.让我们说美元和欧元,我只想要其中一个.现在,我这样做(例证),但我觉得它很复杂.还有其他更好的方法吗?

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)

谢谢!

python

4
推荐指数
2
解决办法
1607
查看次数

标签 统计

python ×2

logical-operators ×1