多个值的if语句
这是我想要实现的一个例子。如果你能帮我完成它,那就太好了!
exampleNumbers = [One,Uno,Two,Dos]
randomNumber = random.choice(exampleNumbers)
接下来,我希望如果随机选择的 exampleNumbers
是One或Uno,那么就把 randomNumber
改成1;如果随机选择的 exampleNumbers
是Two或Dos,那么就把 randomNumber
改成2。
我觉得我可以用一个if语句来实现这个功能,但我不太确定怎么用if语句处理多个值。
所以基本上,如果随机选择的是Two,我想让 randomNumber
= 2。
抱歉如果我没有解释得很好,我正在慢慢学习,但我的知识和术语还是很初级。如果有好的答案,我会很乐意点赞和支持的!
提前谢谢你!:)
3 个回答
0
你可以用 and
和 or
来组合多个条件。对于多个条件的组合,你还可以使用括号,比如说 (True and False) or (False or True)
。这里面有个运算顺序,基本上是从左到右进行的。所以针对你的问题,你可以这样做:
if(num == "two" or num == "dos"):
//do things
elif (num == "one" or num == "uno"):
//do other things
0
你还可以定义一些选项:
options = { One : thisIsOne,
Uno : thisIsOne,
Two : thisIsTwo,
Dos : thisIsTwo,
}
def thisIsOne()
randomNumber = 1
def thisIsTwo()
randomNumber = 2
然后你可以简单地调用 options[randomNumber]()
我对Python有点生疏,但我很确定这样是可以的(不过rodrigo的前一个答案也可以!这主要是看个人喜好和代码的可重用性)
2
你可以使用运算符 in
:
if randomNumber in (One,Uno):
randomNumber = 1
else:
randomNumber = 2
或者使用经典的 or
布尔运算符:
if randomNumber == One or randomNumber == Uno:
randomNumber = 1
else:
randomNumber = 2
in
非常适合用来检查多个值。
or
以及其他布尔运算符 and
和 not
可以用来构建任意复杂的逻辑表达式。