Я новичок в программировании и уже 3 дня пытаюсь решить проблему. Помощь действительно будет оценена! Я построил игру «камень / бумага / ножницы», и она отлично работает, за исключением одной вещи: когда P2 (игрок 2) вводит что-то отличное от r / p / s, программа сообщает, что ввод неверен, но затем возвращается к P1 (Player 1) для ввода - я хочу, чтобы он продолжался на P2, а не начинался с P1 снова. Теперь я знаю, что есть 100 вероятных способов лучше написать программу, но я хочу исправить это, используя мой текущий код - я предполагаю, что с помощью другого цикла while или чего-то еще, но безуспешно пробовал бесконечные варианты и комбинации. Кто-нибудь, пожалуйста, помогите?
def rps():
if p1 == 'r' and p2 == 's':
print('Congrats P1! ')
elif p1 == 'r' and p2 == 'p':
print('Congrats P2! ')
elif p1 == 'p' and p2 == 's':
print('Congrats P2! ')
elif p1 == 'p' and p2 == 'r':
print('Congrats P1! ')
elif p1 == 's' and p2 == 'r':
print('Congrats P2! ')
elif p1 == 's' and p2 == 'p':
print('Congrats P1! ')
elif p1 == 'r' and p2 == 'r':
print('Draw! ')
elif p1 == 's' and p2 == 's':
print('Draw! ')
elif p1 == 'p' and p2 == 'p':
print('Draw! ')
while True:
p1 = input('Choice P1? r/p/s (Type "quit" to exit)')
p1check = p1 == 'r' or p1 == 'p' or p1 == 's'
if p1 == 'quit':
print('Bye!')
break
elif p1check is False:
print('Invalid choice P1! ')
continue
p2 = input('Choice P2? r/p/s (type "quit" to exit)')
p2check = p2 == 'r' or p2 == 'p' or p2 == 's'
if p2 == 'quit':
print('Chow!!')
break
elif p2check is False:
print('Invalid choice P2! ')
continue
rps()