如果声明多个值

时间:2014-07-30 19:00:32

标签: python python-3.4

这是我的一个例子。如果你能帮助我完成它会很棒!

exampleNumbers = [One,Uno,Two,Dos]
randomNumber = random.choice(exampleNumbers)

如果randomNumber的随机选择为一个 Uno 或更改{{p>从此处开始,我希望将exampleNumbers更改为1如果randomNumber的随机选择为两个 Dos ,则{1}}为2.

我想我可以使用if语句来完成它,但是我不确定如何使用带有多个值的if语句。

所以基本上如果随机选择是两个,我希望它然后使exampleNumbers = 2。

对不起,如果我没有解释得这么好,我会慢慢到那里,但我的知识和术语仍处于业余状态。我很乐意打勾并投票给任何好的答案!

提前致谢! :)

3 个答案:

答案 0 :(得分: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和其他布尔运算符andnot可用于构建任意复杂的逻辑表达式。

答案 1 :(得分:0)

您可以使用andor来复合语句。对于多个语句,您还可以使用括号(即:(True and False) or (False or True))。确实存在基本从左到右的操作顺序。所以对你提问你可以做到

if(num == "two" or num == "dos"):
    //do things
elif (num == "one" or num == "uno"):
    //do other things

答案 2 :(得分:0)

您还可以定义选项:

options = { One : thisIsOne,
              Uno : thisIsOne,
              Two : thisIsTwo,
              Dos : thisIsTwo,
}

def thisIsOne()
  randomNumber = 1

def thisIsTwo()
  randomNumber = 2

然后,您只需致电options[randomNumber]()

即可

我的python有点生疏,但我很确定它有效(但是之前的回答是rodrigo!偏好和可重用性问题)