我的代碼在這里:
import time
idk = input("Hey whats ur name dude ")
print(idk)
time.sleep(1.2)
print("Hmmmm")
time.sleep(1.4)
print("thats a cool name dude")
time.sleep(2)
print("hey", idk)
time.sleep(1.1)
print("uh")
time.sleep(1.4)
dot = input("you know, the last time I actually coded was like a year ago :/. ya think i can still code? (yes/no/maybe) ")
if dot == "yes":
time.sleep(0.7)
print("thx. ill try my best")
if dot == "no":
time.sleep(0.7)
print("ok. i will reteach myself i guess")
if dot == "maybe":
time.sleep(0.7)
print("we will see i guess :]")
else:
print("RESPOND WITH WHAT I TELL U TO RESPOND WITH U IDIOT >:-( ")
在最后一部分,有一個 else 陳述句。每當我運行它并選擇“是”或“否”選項時,即使不應該出現 else 陳述句也會出現。順便說一句,這不會發生在“可能”選項中。我不認為這是縮進錯誤。我仔細看了看。我真的很困惑。
uj5u.com熱心網友回復:
這里發生的事情是 else 陳述句只影響 if "maybe"。這里你需要做的是只寫一個 if 陳述句,然后為其余的寫 elif 陳述句:
if dot == "yes":
...
elif dot == "no":
....
elif dot == "maybe":
...
else:
....
否則,如果您輸入“yes”,代碼將首先檢查是否有任何“yes”并列印 yes 回應,但是,當它到達“maybe”時,它會檢查陳述句是否為假,因此運行里面的內容else 陳述句。
抱歉,如果格式有誤,我是在手機上寫的。
uj5u.com熱心網友回復:
您的elifonly 與您的最終if陳述句配對,這就是為什么在您選擇 yes 或 no 選項時執行最終 else 陳述句的原因。您可以使用elifno 和 may 選項使所有條件成為同一控制流的一部分。
https://docs.python.org/3/tutorial/controlflow.html
uj5u.com熱心網友回復:
你應該使用elif而不是if.
因此,當您輸入yes 時,它會轉到下一個if并且看到它不是no然后它會轉到下一個if并且它可能不是所以它會列印else訊息。
uj5u.com熱心網友回復:
您應該elif在這種情況下使用,因為目前else僅適用于您的最后一次檢查:
if dot == "yes":
time.sleep(0.7)
print("thx. ill try my best")
elif dot == "no":
time.sleep(0.7)
print("ok. i will reteach myself i guess")
elif dot == "maybe":
time.sleep(0.7)
print("we will see i guess :]")
else:
print("RESPOND WITH WHAT I TELL U TO RESPOND WITH U IDIOT >:-( ")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/337935.html
