roll = input('Type ROLL to roll for your stats. ')
if roll == "roll" or roll == "ROLL":
#do your stats roll here
reroll = input('Would you like to reroll? ')
if reroll == 'no' or reroll == 'NO':
break
Я считаю, что ваша ошибка, скорее всего, связана с тем, что вы печатаете вопрос, а затем пропускаете пустую функцию input ().Когда вы используете функцию ввода, вы должны вводить свой вопрос в виде строки в скобках.
input('Place your question / prompt here, with a space at the end so there is a gap between the question and your input: ')
Кроме того, когда вы проверяете, равняется ли reroll нулю или нет, вы должны помнить, что словаno и NO должны заключаться в кавычки для обозначения строки!Python видит все, что не находится в кавычках, как число, переменную, функцию или зарезервированное слово (например, OR).Если вы еще не объявили переменную no и NO, ваша программа не будет работать.Поэтому вы должны либо ставить одинарные или двойные кавычки вокруг слов no и NO, либо в начале программы вы должны объявлять их как переменные, например,
no = 'no'
NO = 'NO'
Также цикл while прерывается.Для бесконечного цикла установите первый оператор на While True
.Если вы хотите, чтобы цикл прерывался при выполнении определенного условия, объявите другую переменную до начала цикла и установите для нее значение True
(логическое значение true, а не слово true).Как только это будет сделано, вы можете установить эту переменную в логическое значение False
, чтобы выйти из цикла
rolling = True
While rolling:
#do stuff
If exitcondition == True:
rolling = False # When exitcondition is True, rolling is False and the loop is broken