Как в Python при завершении цикла вернуть действие на определённую строку
Например, я сделал камень ножницы бумага в Python, и я хочу, чтобы при завершении игры код и цикл не заканчивались, а переходили на строчку, где пользователю дают выбор предмета
import random
rock = 1
scissors = 2
paper = 3
print("Выберите: 1 - камень. 2 - ножницы. 3 - бумага")
human_decided = int(input())
ai_decided = random.randint(1, 3)
if human_decided == ai_decided:
print("Draw!")
if human_decided == 1 and ai_decided == 2:
print("You win in Rock vs Scissors!")
if human_decided == 1 and ai_decided == 3:
print("You lose in Rock vs Paper!")
if human_decided == 2 and ai_decided == 1:
print("You lose!")
if human_decided == 2 and ai_decided == 3:
print("You win!")
if human_decided == 3 and ai_decided == 1:
print("You win!")
if human_decided == 3 and ai_decided == 2:
print("You lose!")```
и чтобы код возвращался на выбор предмета
Ответы (1 шт):
Автор решения: Alexey Trukhanov
→ Ссылка
Если Вы на самом деле хотите, чтобы цикл был бесконечным, то перед первым print
надо поставить while True:
(не забудьте весь остальной блок сдвинуть вправо)
import random
rock = 1
scissors = 2
paper = 3
while True:
print("Выберите: 1 - камень. 2 - ножницы. 3 - бумага")
human_decided = int(input())
ai_decided = random.randint(1, 3)
if human_decided == ai_decided:
print("Draw!")
if human_decided == 1 and ai_decided == 2:
print("You win in Rock vs Scissors!")
if human_decided == 1 and ai_decided == 3:
print("You lose in Rock vs Paper!")
if human_decided == 2 and ai_decided == 1:
print("You lose!")
if human_decided == 2 and ai_decided == 3:
print("You win!")
if human_decided == 3 and ai_decided == 1:
print("You win!")
if human_decided == 3 and ai_decided == 2:
print("You lose!")
Но лучше предусмотреть выход из цикла, например, по вводу любого символа, кроме 1, 2, 3
, как-то так:
import random
rock = 1
scissors = 2
paper = 3
while (human_decided := input("Выберите: 1 - камень. 2 - ножницы. 3 - бумага: ")) in ('1', '2', '3'):
human_decided = int(human_decided)
ai_decided = random.randint(1, 3)
if human_decided == ai_decided:
print("Draw!")
if human_decided == 1 and ai_decided == 2:
print("You win in Rock vs Scissors!")
if human_decided == 1 and ai_decided == 3:
print("You lose in Rock vs Paper!")
if human_decided == 2 and ai_decided == 1:
print("You lose!")
if human_decided == 2 and ai_decided == 3:
print("You win!")
if human_decided == 3 and ai_decided == 1:
print("You win!")
if human_decided == 3 and ai_decided == 2:
print("You lose!")