如何从输入的玩家列表中随机选取一个玩家?
问题分析
你的代码问题在于每次循环都会用新输入的名字覆盖ask_player变量,循环结束后它只保存了最后一个玩家的姓名。而random.choice()作用在字符串上时,会随机选取字符串中的单个字符,这就是为什么你得到的是单个字母。
修正代码
你需要用一个列表来存储所有玩家的姓名,之后再从列表里随机选择:
import random player_number = int(input("How many players are there: ")) players = [] # 创建空列表存储玩家姓名 for i in range(player_number): player_name = input("Enter player name: ") players.append(player_name) # 将每个姓名添加到列表 print(random.choice(players)) # 从列表中随机选一个玩家
代码说明
- 初始化空列表
players,专门用来收集所有玩家的姓名。 - 每次输入玩家姓名后,用
append()方法把姓名添加到列表中,避免被新输入覆盖。 - 最后调用
random.choice(players),就能从完整的玩家列表里随机挑选一个姓名输出。
内容的提问来源于stack exchange,提问作者Qstz D
相关产品推荐
相关产品推荐

