#python
#python
Вопрос:
Хорошо, нужно понять, почему мой код не работает. На данный момент он застревает в бесконечном цикле запроса у пользователя PIN-кода после ввода неправильного PIN-кода.
Я полагаю, что я каким-то образом испортил оператор while.
def inputValidator():
userInput = requestInteger("Please input a PIN between 1 - 1000")
while 1 > userInput > 1000 :
requestInteger("Your PIN is not within 1 - 1000, please try again")
print("Thanks! your new PIN is " str(userInput))
спасибо за помощь, ребята!
Ответ №1:
Попробуйте это:
def inputValidator():
userInput = requestInteger("Please input a PIN between 1 - 1000")
while userInput<1 or userInput>1000:
userInput = requestInteger("Your PIN is not within 1 - 1000, please try again")
print("Thanks! your new PIN is " str(userInput))
Вам потребуется новый ввод от вашего пользователя, если userInput
он меньше 1 или больше 1000 — и, как сказала @Polina F., вы не присвоили новое значение userInput
внутри цикла while. Вот почему он зацикливается навсегда.
Ответ №2:
Вы ничего не назначаете в цикле while. userInput никогда не обновляется — следовательно, вы не можете выйти из цикла
Ответ №3:
вы не назначаете requestInteger для userInput
while 1 > userInput > 1000 :
userInput =requestInteger("Your PIN is not within 1 - 1000, please try again")