[英]How to pick a random item from an input list?
我正在制作一個程序,詢問有多少玩家在玩,然后要求輸入這些玩家的名字。 然后,我想讓它打印一個隨機播放器,但我不知道怎么做。
現在的代碼從給定的姓氏中隨機打印一個字母,我認為:
import random
player_numberCount = input("How many players are there: ")
player_number = int(player_numberCount)
for i in range(player_number):
ask_player = input("name the players: ")
print(random.choice(ask_player))
您需要將輸入的每個玩家名稱添加到列表中。 這是您在代碼中需要的起點:
from random import choice
number_of_players = int(input("How many players are there: "))
players = []
for _ in range(number_of_players):
players.append(input("name the players: "))
print(choice(players))
該循環在每次迭代時重新分配ask_player
變量,擦除先前的值。
大概您打算將每個值保存在列表中:
players = []
for i in range(player_number):
players.append(input("Player name: "))
print(random.choice(players))
問題是在每次 for 循環迭代中,您都將 ask_player var 重新分配給一個字符串。 當您將一個字符串傳遞給 random.choice(...) 時,它會選擇該字符串的一個隨機字母(因為字符串可以像數組一樣被索引)。 只需在循環之前定義一個數組,並在每次迭代中定義 append:
import random
player_numberCount = input("How many players are there: ")
player_number = int(player_numberCount)
players = []
for i in range(player_number):
players.append(input(f"name player {i + 1}: "))
print(random.choice(players))
import random
player_number = int(input("How many players are there: "))
player_list = []
for _ in range(player_number):
ask_player = input("name the players: ")
player_list.append(ask_player)
print(player_list[random.randint(0, player_number)])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.