2015-09-11 3 views
0

Я новичок в python, и у меня вопрос о циклах.Состояние python делает неправильный результат

Может кто-нибудь объяснить мне, что именно происходит с моим кодом и почему это дает мне неправильный результат.

Это мой код:

age=20 

while age >= 10: 
    age=int(input("what is your age?")) 
    print("your age is >= 10") 

и ответ таков:

what is your age? 9 
    "your age is >= 10" 

Я не понимая этого. Я использую windows7 & python3

ответ

0

Проблема заключается в том, что вы печатаете «ваш возраст = = 10» после того, как задали возраст, но на самом деле не проверяли, в каком возрасте они вступили в первую очередь. Вы должны использовать условное заявление вокруг печати, чтобы предотвратить его печать, если возраст не равен> 10.

age=20 

while age >= 10: 
    age=int(input("what is your age?")) 
    if age >= 10: 
     print("your age is >= 10") 
+0

Я бы предложил изменить 'while age> = 10:' на 'while True' и добавить ветку' else: break' в 'if', чтобы условие не было дважды проверено. –

0

Вы пробовали использовать этот код? Это поможет уточнить.

Ввод - это функция, которая принимает строку "what is your age?", запрашивает пользователя и возвращает ответ вводам пользователя в командной строке. Затем функция int() отбрасывает ответ пользователя из строки в целое число. После этого это целое присваивается переменной age age=, а затем печатает сообщение: "your age is >= 10"

Что происходит каждый раз, когда цикл работает, программа запрашивает у пользователя возраст и назначает его возрасту переменной. Затем цикл while проверяет условие: равен ли возраст или больше 10? age >= 10. Если это не так, он продолжает цикл. Он выйдет из цикла, если пользователь вводит возраст, который меньше 10.

Надеюсь, что это поможет.

Смежные вопросы