查找列表中的哪个项目是随机选择的

时间:2015-06-04 21:28:05

标签: python list

我有一个Tkinter程序为我选择随机游戏。我设置了列表并需要我的程序来查看选择了哪个游戏,以便它可以从其文件位置启动游戏。我所拥有的并不起作用。你能告诉我如何找到被选中的游戏吗?

def genRanGame(self):
    game = ['BF4', 'CSGO', 'GTA', 'FC3', 'DB']
    self.game.set(random.choice(game))
    if game == "BF4":
        print ("This is working")
    if game == 'CSGO':
        print ("This is really working")

1 个答案:

答案 0 :(得分:1)

首先将random.choice()结果存储在变量中:

games = ['BF4', 'CSGO', 'GTA', 'FC3', 'DB']
game_picked = random.choice(games)
self.game.set(game_picked)
if game_picked == "BF4":
    # ...

或从您设置的对象中检索它;大概self.game是一个Tkinter StringVar()对象或类似对象;它有.get()方法以及.set()方法,您可以使用它来读出您设置的随机选择:

games = ['BF4', 'CSGO', 'GTA', 'FC3', 'DB']
self.game.set(random.choice(games))
if self.game.get() == "BF4":
    # ...

使用games时,列表对象(我将其命名为random.choice()以更好地反映内容)不会改变,因此games == 'BF4'永远不会成立;它仍然设置为整个列表,而不是列表中的一个选项。