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