2015-09-11 67 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,它將僅退出循環。

希望它有幫助。