我试图随机挑选球员的名字,并将他们分成两个不同的队。我的名单上有5个名字,但是结果只显示了4个名字,B队总是只有一个球员的名字,而A队总是有3个名字。我能知道这有什么问题吗?我该如何解决?谢谢
这是我的密码:
from random import choice
teamA =[]
teamB =[]
players=['Campo', 'Elliston', 'Sarre', 'Priscilla', 'Josse']
def divide_player(team):
for player in players:
player_picked = choice(players)
team.append(player_picked)
players.remove(player_picked)
divide_player(teamA)
divide_player(teamB)
print(f'Team B: {teamB}')
print(f'Team A: {teamA}')
结果如下:
Team B: ['Elliston']
Team A: ['Josse', 'Sarre', 'Campo']
Team B: ['Priscilla']
Team A: ['Josse', 'Sarre', 'Elliston']
这里有一个想法:
更好的方法是
shuffle()
将球员分成两个队:样本输出:
你不应该改变你已经循环的列表。 你可以找到许多关于这方面的文章,例如:https://runestone.academy/runestone/books/published/fopp/TransformingSequences/WPDontMutateAListYouIterateThrough.html
如何解决? 您应该迭代复制列表的。你可以这样做
相关问题 更多 >
编程相关推荐