Если вы назначаете следующий пользовательский ввод cont2
, вы можете просто переназначить cont
.Это прервет цикл while, если пользователь нажмет «N».Тогда вам больше не понадобится второй цикл while.
Редактировать: Как сказал Дэниел выше, ваш код nog всегда дает один и тот же бросок компьютерных кубиков.Yoy должен изменить строку ai
внутри цикла while.
import random
import time
player = random.randint(1,6)
# remove ai = random.randint(1,6) here
cont = str(input('Roll the dice? Y/N'))
while cont == "Y":
print ("You are rolling...")
time.sleep(3)
print ("You rolled " + str(player))
print("The computer rolls...." )
ai = random.randint(1,6) # <-- add here again
time.sleep(3)
print ("The computer rolled " + str(ai))
if player > ai:
print("You win")
if ai > player:
print("You lose")
cont = str(input('Would you like to play again? Y/N')) # <-- this line is changed
print ("I hope you enjoyed playing dice. Have a great day!")
Вы также можете сделать его более устойчивым для данного пользовательского ввода, добавив .upper()
после ввода.Итак: cont = str(input('Roll the dice? Y/N')).upper()
.Если пользователь затем введет «y» вместо «Y», он все равно будет работать.