Python 用于多个值的If语句
下面是我的目标的一个例子。如果你能帮我完成,那就太好了Python 用于多个值的If语句,python,python-3.4,Python,Python 3.4,下面是我的目标的一个例子。如果你能帮我完成,那就太好了 exampleNumbers = [One,Uno,Two,Dos] randomNumber = random.choice(exampleNumbers) 从这里开始,如果exampleNumbers的随机选择是One或Uno或exampleNumbers的随机选择是Two或Dos,我希望它将randomNumbers更改为1,或者将randomNumbers的随机选择更改为2 我想我可以使用if语句来实现,但是我不确定如何使用具有多
exampleNumbers = [One,Uno,Two,Dos]
randomNumber = random.choice(exampleNumbers)
从这里开始,如果exampleNumbers
的随机选择是One或Uno或exampleNumbers
的随机选择是Two或Dos,我希望它将randomNumbers
更改为1,或者将randomNumbers
的随机选择更改为2
我想我可以使用if语句来实现,但是我不确定如何使用具有多个值的if语句
因此,基本上,如果随机选择是Two,例如,我希望它将随机数
=2
很抱歉,如果我没有很好地解释这一点,我会慢慢做到,但我的知识和术语仍然处于业余状态。我会很高兴地勾选并投票选出任何好的答案
提前感谢!:) 您可以在中使用运算符
:
if randomNumber in (One,Uno):
randomNumber = 1
else:
randomNumber = 2
或经典的或布尔运算符:
if randomNumber == One or randomNumber == Uno:
randomNumber = 1
else:
randomNumber = 2
中的非常适合检查大量值
或
以及其他布尔运算符和
和非
可用于构建任意复杂的逻辑表达式。您可以使用和
和或
组合语句。对于多个语句,也可以使用括号(即:(True和False)或(False或True)
)。确实存在一个基本上从左到右的操作顺序。所以对于你的问题你能做什么
if(num == "two" or num == "dos"):
//do things
elif (num == "one" or num == "uno"):
//do other things
您还可以定义选项:
options = { One : thisIsOne,
Uno : thisIsOne,
Two : thisIsTwo,
Dos : thisIsTwo,
}
def thisIsOne()
randomNumber = 1
def thisIsTwo()
randomNumber = 2
然后,您只需调用options[randomNumber]()
我对python有点生疏了,但我很确定它是可行的(但rodrigo之前的回答也是如此!偏好和可重用性的问题)为什么不从您真正想要的项目中选择呢@Jornsharpe一个可能的原因可能是OP希望通过为那些被选中的人提供更多的机会来权衡某些值的可能性。当然,这只是我的猜测。@Andy你可以通过适当的比例来加权,在这种情况下,random.choice((1,1,2,2))
(不包括明显的简化!)