У меня есть код, который бросает две кости, для каждого игрока, где они набирают «бросить», чтобы бросить каждую из них.Однако, если они не вводят «roll» правильно, код не работает должным образом, и вместо того, чтобы снова и снова просить пользователя вводить «roll» снова / правильно, он проходит через код независимо от проверки его ввода..
Код должен попросить Игрока 1 бросить свои первые, а затем и вторые кубики в Раунде 1, затем перейти к двум кубикам Игрока 2 в первом раунде, а затем в Раунд 2, пока оба игрока не пройдут 5 раундов,и если они вводят его неправильно, он просто запрашивает правильный ввод, пока он не станет правильным.
import random
tot1 = 0
tot2 = 0
tot2 = 0
rnd2 = 0
for i in range (1,6):
while True:
from random import randint
print()
print("Player 1")
ro1_1 = input("Type 'roll' to roll your 1st dice: ")
if ro1_1 == 'roll':
dice1_1 = (randint(1,6))
print("Player1 dice 1:", dice1_1)
else:
ro1_1 = input("Type 'roll' to roll your 1st dice: ")
ro1_2 = input("Type 'roll' to roll your 2nd dice: ")
if ro1_2 == "roll":
dice1_2 = (randint(1,6))
print("Player1 Dice 2:", dice1_2)
else:
ro1_2 = input("Type 'roll' to roll your 1st dice: ")
print()
print ("Player1's total for round",(rnd1)," is:",tot1)
print()
print ("Player 2")
ro2_1 = input("Type 'roll' to roll your 1st dice: ")
if ro2_1 == 'roll':
dice2_1 = (randint(1,6))
print("Player2 Dice 1:", dice2_1)
else:
ro1_1 = input("Type 'roll' to roll your 1st dice: ")
ro2_2 = input("Type 'roll' to roll your 2nd dice: ")
if ro2_2 == 'roll':
dice2_2 = (randint(1,6))
print("Player2 Dice 2:", dice2_2)
else:
ro2_2 = input("Type 'roll' to roll your 1st dice: ")
break
print()
print ("Player2's total for round",(rnd2)," is:",tot2)
print()
break