#python #validation
#python #проверка
Вопрос:
итак, мой код таков:
def main():
print("Press '1' to start a new dice roll calculation")
print("or press '0' to end the program") #escape key
validation = int(input()) #so the user can press enter
while validation != 1 or validation != 0: #input validation loop with escape key
print("Press ENTER to start a new dice roll calculation")
validation = int(input())
когда я пытаюсь запустить цикл проверки, по какой-то причине он бросает меня в бесконечный цикл, но когда я проверил свой учебник (Tony Gaddis, 2017), он должен быть правильным. Где я ошибаюсь?
Комментарии:
1. Это, если условие должно быть
and
, нетor
. (Если они вводят 1, оно не равно 0, а если они вводят 0, оно не равно 1. Итак, сor
условием, да, это бесконечный цикл.)2. я всегда делаю что-то очень простое. Спасибо
Ответ №1:
Он проверяет, не существует ли 1 или 0. если вы введете 1, 0 не существует и наоборот, поэтому это всегда будет вызывать ошибку. Измените or
на and
подобное:
def main():
print("Press '1' to start a new dice roll calculation")
print("or press '0' to end the program") #escape key
validation = int(input()) #so the user can press enter
#input validation loop with escape key using AND instead of OR
while validation != 1 and validation != 0:
print("Press ENTER to start a new dice roll calculation")
validation = int(input())