2015-09-11 59 views
0

我是新的蟒蛇,我有一个关于while循环的问题。蟒蛇条件使错误的结果

有人可以解释我究竟发生了什么与我的代码,为什么它给了我一个不正确的结果。

这是我的代码:

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

我建议在'true'时将'age => 10'改为''并在'if'中添加一个'else:break'分支,这样条件不会被检查两次。 –

0

您是否试过运行此代码?这将有助于澄清。

输入是一个函数,它接受字符串"what is your age?",提示用户并返回用户在命令行中输入的答案。函数int()然后将来自字符串的用户答案转换为一个整数。之后,将此整数分配给变量年龄age=,然后打印一条消息,说"your age is >= 10"

每次循环运行时,程序都会询问用户年龄,并将其分配给变量年龄。然后while循环检查条件:年龄是否等于或大于10? age >= 10。如果不是,它会保持循环。如果用户输入的年龄小于10,它将仅退出循环。

希望它有帮助。