如果声明更简单

时间:2017-03-20 00:48:30

标签: python if-statement

我对Python的编码经验非常少,而且正在为Python编码类制作游戏。除了这个,我不知道任何复杂的东西。

有没有办法简化下面提供的代码中的if语句,可能只有一个if语句来减少重复?我有更多的这些将需要做更多而不是4个数字。感谢。

import random
hero = random.randint(1,4)
if hero == 1:
    print 'Marth'
elif hero == 2:
    print 'Lucina'
elif hero == 3:
    print 'Robin'
else:
    print 'Tiki'

3 个答案:

答案 0 :(得分:5)

使用random.choice

import random

hero = ['Marth', 'Lucina', 'Robina', 'Tiki']
print(random.choice(hero))

答案 1 :(得分:0)

import random

hero_list = ['Marth', 'Lucina', 'Robin', 'Tiki']
print hero_list[random.randint(0, len(hero_list)-1)]

答案 2 :(得分:0)

import random
def GetHeroName(x):
    return {
      1 : 'Marth',
      2 : 'Lucina',
      3 : 'Robin'
    }.get(x, 'Tiki')


hero = random.randint(1,4)
print GetHeroName(hero)

注意:get(x,'Tiki')语句是说get x,但如果失败则默认为'Tiki'。