Home > front end >  Asking player numbers then assigning player names to them
Asking player numbers then assigning player names to them

Time:09-10

I wanted to ask how many players there are first , then depending on how many players they are playing the game, I wanted to loop through and ask their names as input and then assigning it to their player numbers. First: it will ask player numbers Second: it will ask their names Third: then it will create their names as variables

Here is what I tried but it is returning :

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)

Here is an another method i tried but it wont work, I dont know how it is not working:

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)

I wanted to loop through the player number to assign individual names to their player numbers, for example if there is 5 players, Player 1 : input (his name) player 2 : input (his name) etc

CodePudding user response:

Your question as written is very confusing but from what I gather you want to:

Ask how many players are participating (0 < n <=7). For each identified player associate a name with the player number. In order to perform this task in an orderly, neat and efficient manner, you should utilize the inherent data structures available to you within 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  

Then when executing start_game, you will get: How Many Players are there? 12 Number of players must be less than or equal to 7, try again

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']
  • Related