Я пытаюсь создать игру, в которой вы выбираете, сколько игроков будет, назовите этих игроков, а затем случайным образом выбирается один игрок.
Оттуда выбранный игрок выберет число от 1 до 10, на которое он НЕ ДОЛЖЕН приземлиться.
Затем кости кидаются, и если они выпадают на это число, все остальные выбирают бросок для него / нее.Если этого не произойдет, игра просто случайным образом выбирает другого игрока, и процесс начинается снова.
Проблема в том, что программа не проходит ту часть, где спрашивает, какой номер вы не хотите получить на .Это странно, так как работает нормально с одним человеком.
Вот полный код, вы ищете строку 23:
# Pass Or Dare
from random import randint
firsttry = True
def playerpicked(list):
listwords = len(list)
numpicked = randint(0, listwords - 1)
userpicked = list[numpicked]
return userpicked
while firsttry:
try:
playercount = int(input('How many players will there be?\n'))
except ValueError:
print("That isn't a number. Please enter a number without decimals.")
else:
firsttry = False
playernames = [input("Name of Player {}: ".format(i)) for i in range(1, playercount + 1)]
while True:
playerturn = playerpicked(playernames)
print("The Player picked is:",playerturn)
while True:
try:
darenum = int(input(playerturn + ", which number do you NOT want to land on?\n"))
except ValueError:
print("Please enter a number.")
else:
if darenum > 10 or darenum < 1:
print("Please enter a number between 1 and 10.\n")
else:
break
print("Okay. Rolling the dice...")
numpick = randint(1, 10)
print("The number chosen is " + str(numpick) + ".")
if numpick == darenum:
print("Whoops! The number you chose was the one that we landed on! Everyone agree on a dare for " + playerturn + "!\n\n")
input("Press Enter once " + playerturn + " has done a dare...\n")
else:
print(playerturn + " has escaped! Moving on to the next person.\n\n")