Я играю в Рок, Бумагу, Ножницы, где после окончания игры на экране появляется сообщение «Хотите ли вы играть снова?». Я изо всех сил пытаюсь запустить игру снова, когда пользователь выбирает «да». Я могу заставить программу сказать «до свидания» и совсем, когда пользователь выбирает «нет».
Я мог бы скопировать и вставить код внутри оператора If, если пользователь несколько раз выбирает yes, но это очень неэффективно, и я считаю, что должен быть более простой способ.
import random
selection = ("Rock", "Paper", "Scissors")
user1 = input("Pick Rock, Paper, or Scissors: ").upper()
computer = random.choice(selection)
if (user1 == "ROCK"):
if (computer == "Paper"):
print ("The computer selected: " + (computer))
print ("You lost")
elif (computer == "Scissors"):
print ("The computer selected: " + (computer))
print ("You win")
elif (computer == "Rock"):
print ("The computer selected: " + (computer))
print ("Tie")
else:
print ("Uh oh something went wrong. Please try again")
elif (user1 == "PAPER"):
if (computer == "Scissors"):
print ("The computer selected: " + (computer))
print ("You lost")
elif (computer == "Rock"):
print ("The computer selected: " + (computer))
print ("You win")
elif (computer == "Paper"):
print ("The computer selected: " + (computer))
print ("Tie")
else:
print ("Uh oh something went wrong. Please try again")
elif (user1 == "SCISSORS"):
if (computer == "Rock"):
print ("The computer selected: " + (computer))
print ("You lost")
elif (computer == "Paper"):
print ("The computer selected: " + (computer))
print ("You win")
elif (computer == "Scissors"):
print ("The computer selected: " + (computer))
print ("Tie")
else:
print ("Uh oh something went wrong. Please try again")
else:
print ("Invalid Selection")
while True:
# main program
while True:
answer = input('Run again? (y/n): ')
if answer in ('y', 'n'):
break
print ('Invalid input.')
if answer == 'y':
continue
else:
print ('Goodbye')
break
Мой ожидаемый результат - когда пользователь набирает «y» и попадет в игру, игра начнется снова, но на данный момент, когда пользователь вводит «y», она просто повторяет то же самое: «Хотели бы вы сыграть снова? потому что у меня нет никакого реального кода внутри оператора If, но я не знаю, что мне нужно добавить к нему, чтобы получить желаемый результат.