簡體   English   中英

詢問球員號碼,然后為他們分配球員姓名

[英]Asking player numbers then assigning player names to them

我想先問有多少玩家,然后根據他們玩游戲的玩家數量,我想循環並詢問他們的名字作為輸入,然后將其分配給他們的玩家編號。 第一:它會詢問玩家號碼第二:它會詢問他們的名字第三:然后它將他們的名字創建為變量

這是我嘗試過的,但它正在返回:

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:輸入(他的名字)等

您所寫的問題非常令人困惑,但據我所知,您想要:

詢問有多少玩家參與(0 < n <=7)。 對於每個已識別的玩家,將名稱與玩家編號相關聯。 為了以有序、整潔和高效的方式執行此任務,您應該利用 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']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM