[英]Beginner: While loop not functioning properly, syntax errors, displays nothing
我正在通過一些Looping練習,尤其是While語句。 以下是說明:
2.2)修改程序,使其每次詢問用戶是否要再次猜測。 使用兩個變量,數字表示數字,答案用於回答問題是否要繼續猜測。 如果用戶猜測正確的數字或回答“否”,程序將停止。 (換句話說,只要用戶未回答“否”並且未猜到正確的數字,程序就會繼續運行。)
這是我的代碼:
#!usr/bin/env python
#
#While statement
number = 24
while number != 24:
answer = raw_input("Guess my lucky number! Do you want to keep guessing?")
if number == 24:
print "You got it! That is great!"
elif answer == "no":
print "Thank you for playing."
else:
print "That is not the right answer! Try again."
當我在IDLE中運行模塊時,That的結尾引號很棒!”-變為紅色並表示語法無效。在終端中,如果我運行$ python while.py沒有加載。我嘗試將其編寫為帶有print的Python 3函數(“”),但它仍然無法運行。
感謝任何可以幫助您的人。
永遠不會輸入while循環,因為條件number != 24
永遠不會成立。 這就是為什么沒有輸出的原因。
您的循環永遠不會執行,因為您聲明數字= 24,然后緊接着,僅當數字!= 24時您的while循環才會開始。
另外,raw_input將產生一個字符串,而不是一個int,因此要求輸入“ 24”或將raw_input強制轉換為int。
看來,您實際上並沒有給用戶提供任何機會來猜測這個數字。 您只問用戶是否想繼續玩。
您可能想要執行以下操作:
number = 24
answer = ""
while answer != str(number):
answer = raw_input("Guess my lucky number, or type 'no' to quit.")
if answer == "no":
print "Okay, see you later"
break
elif answer != str(number):
print "wrong number"
if answer == str(number):
print "you got it right"
這是語法問題:
answer = ""
while answer != "24":
answer = raw_input("Guess my lucky number! Do you want to keep guessing?")
if answer == "24":
# You can fill in the rest ...
好吧,我不想直接為您解決問題,而是在while循環中查看您的條件。 在運行時逐行考慮會發生什么,尤其是在“ number”變量中。
其他答案正在解決這個問題,但還有更多...
是的,您確實應該在循環中檢查答案變量,而不是數字變量,但還要記住,raw_input將為您提供一個字符串。 因此,您將不會獲得整數24,而將獲得字符串“ 24”。 這里的想法是從raw_input中獲取答案變量,並根據您的數字和值“ no”檢查該變量
數字=“ 24”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.