Python:随机琐事琐事问题/答案,在参数中

我是学习 python 的新手,想运行一些琐事。基本上,我想从列表中随机问一个问题,然后使用“输入”运算符,判断用户输入的 Y/N 是否正确。我一直在确定如何检查它是否正确。也许我的(不正确的)代码可以更好地解释。

import random

Players = ['Patrice Evra', 'Rio Ferdinand', 'Sergio Ramos', 'Gerard Pique']
Clubs = ['Manchester United', 'Nice', 'Monaco', 'Marseille', 'West Ham United', 'Sevilla', 'Real Madrid', 'Barcelona']
Ramos = ['Sevilla', 'Real Madrid']
Evra = ['Manchester United', 'Nice', 'Monaco', 'Marseille', 'West Ham United']
Ferdinand = ['Leeds United', 'Manchester United']
Pique = ['Barcelona', 'Manchester United']
print('Did ' + random.choice(Players) + ' play for ' + random.choice(Clubs) + ' ? Y/N')
answer = input()

这就是我被卡住的地方,甚至不确定这是否是解决此问题的正确方法。谢谢您的帮助。

回答

最重要的是,您必须保存您的随机选择,以便稍后进行验证。所以你应该在之前分配两个变量:

player = random.choice(Players)
club = random.choice(Clubs)
print('Did ' + player + ' play for ' + club + ' ? Y/N')

然后你可以通过 if 语句来验证自己。但更快(更复杂)的方法是:

did_play = club in [Evra, Ferdinand, Ramos, Pique][Players.index(player)]

这将是更好的存储变量EvraFerdinandRamosPique 不同的,但现在应该到的伎俩。

存储这些变量的更好方法是在这样的字典中:

player_clubs = {
"Patrice Evra": ['Manchester United', 'Nice', 'Monaco', 'Marseille', 'West Ham United'],
"Rio Ferdinand": ['Leeds United', 'Manchester United'],
"Sergio Ramos": ['Sevilla', 'Real Madrid'],
"Gerard Pique": ['Barcelona', 'Manchester United']
}

这样您就可以更轻松地检查他们是否在某个俱乐部踢球,例如:

did_play = club in player_clubs[player]


以上是Python:随机琐事琐事问题/答案,在参数中的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>