询问玩家号码,然后为其指定玩家姓名



我想先问有多少玩家,然后根据他们玩游戏的玩家数量,我想循环浏览并询问他们的姓名作为输入,然后将其分配给他们的玩家编号。第一:它会询问玩家号码第二:它会询问他们的名字第三:然后它将创建它们的名称作为变量

以下是我尝试过的,但它正在返回:

player_nums =int(input("how many players are there? "))
playernum = True
while playernum:
if player_nums >7 or player_nums == 0 :
print( "there cant be more than 7 players")
print("please entre the player numbers again")
player_nums =int(input("how many players are there? "))
elif player_nums == 6 :
player_one = input("please write ur name playerone")
player_two = input("please write ur name playerone")
player_three = input("please write ur name playerone")
player_four = input("please write ur name playerone")
player_five = input("please write ur name playerone")
player_six = input("please write ur name playerone")
playernum = False
elif playernum ==5:
player_one = input("please write ur name playerone")
player_two = input("please write ur name playerone")
player_three = input("please write ur name playerone")
player_four = input("please write ur name playerone")
player_five = input("please write ur name playerone")
playernum = False
elif playernum ==4:
player_one = input("please write ur name playerone")
player_two = input("please write ur name playerone")
player_three = input("please write ur name playerone")
player_four = input("please write ur name playerone")
playernum = False
elif playernum == 3: 
player_one = input("please write ur name playerone")
player_two = input("please write ur name playerone")
player_three = input("please write ur name playerone")
playernum = False
elif playernum ==2:
player_one = input("please write ur name playerone")
player_two = input("please write ur name playerone")
elif playernum == 1:
player_one = input("please write ur name playerone")
playernum = False
else:
continue
print(player_one)

这是我尝试过的另一种方法,但它不起作用,我不知道它怎么不起作用:

class Player:
def __init__(self,name):
self.name= name
def new_name(self):
self.new_names = input('what is your name')
def __str__(self):
return self.name_names
user = Player("")
player_nums =int(input("how many players are there? "))
playernum = True
while playernum:
if player_nums >7 or player_nums == 0 :
print( "there cant be more than 7 players")
print("please entre the player numbers again")
player_nums =int(input("how many players are there? "))
else:
for i in range(1,player_nums):
user = Player.new_name(user)
print(user.new_name)

我想循环浏览玩家编号,为他们的玩家编号分配个人姓名,例如,如果有5名玩家,玩家1:输入(他的名字(玩家2:输入(他名字(等

你的问题写得很困惑,但据我所知,你想:

  1. 询问有多少玩家参与(0<n<=7(
  2. 对于每个已识别的玩家,将其名称与玩家编号关联起来

为了以有序、整洁和高效的方式执行此任务,您应该利用python中可用的固有数据结构。

def start_game():
while plyr_count := int(input('How Many Players are there? ')):
if plyr_count <= 7:
break
print('Number of players must be less than or equal to 7, try again')
players = []
for i in range(plyr_count):
players.append(input(f"Enter Player {i+1}'s name "))
return players  

然后在执行start_game时,您将得到:有多少玩家?12玩家数量必须小于或等于7,请重试

How Many Players are there? 4
Enter Player 1's name Bob
Enter Player 2's name Tom
Enter Player 3's name Judy
Enter Player 4's name Nancy
['Bob', 'Tom', 'Judy', 'Nancy']  

如果你想创建一个播放器类并在上面的代码中使用它,这就是我的方法

# The player Class definition
class Player:
def __init__(self, name):
self.name = name
def __repr__(self):  # Allows for printing Class
return self.name  
# Update Code to utilize player class in start_game
def start_game():
while plyr_count := int(input('How Many Players are there? ')):
if plyr_count <= 7:
break
print('Number of players must be less than or equal to 7, try again')
players = []
for i in range(plyr_count):
players.append(Player(input(f"Enter Player {i+1}'s name ")))
return players

相关内容

最新更新