我是 Python 的初學者,我正在努力尋找我的錯誤。我有3個,現在有兩個輸入條件,不知道是什么問題。我嘗試以各種方式實作,從使用所有 if 陳述句,然后使用 if/else,然后嵌套以及 while 回圈。我不確定我做錯了什么。
def switch_off():
robot_name
answer = input (robot_name ": what must I do next? " )
if answer == "OFF":
quit()
if answer.lower() != "off":
print( robot_name ": Shutting down...")
if answer== "OFF" or answer.lower() != "off":
print(robot_name ": Sorry, I did not understand")
answer = input (robot_name ": what must I do next? " )
uj5u.com熱心網友回復:
我真的不知道你真正想要什么,但試試這個
使用 while 回圈,您可以回圈遍歷并下達命令。
def switch_off():
robot_name
answer = input(robot_name ": what must I do next? ")
while True:
if answer == "OFF":
quit()
elif answer.lower() != "off":
print( robot_name ": Shutting down...")
break
elif answer=="OFF" or answer.lower() != "off":
print(robot_name ": Sorry, I did not understand")
answer = input (robot_name ": what must I do next? " )
break
uj5u.com熱心網友回復:
您是否在代碼末尾呼叫了該函式?您還需要為“robot_name”變數輸入一個值!
您可以通過在代碼末尾鍵入以下內容來呼叫該函式:
switch_off()
*附注。我知道這不是你問的,但是你的 if-else 陳述句給出了非常奇怪的回報,應該優化!
例如,當我在控制臺中輸入 'k' 時,它回傳:
Bob: what must I do next? k
Bob: Shutting down...
Bob: Sorry, I did not understand
Bob: what must I do next?
您可以通過確保 if-else 陳述句不相互重疊來解決此問題!
希望這會有所幫助:)
uj5u.com熱心網友回復:
我不知道你的最終目標是什么,但我希望這會有所幫助。
要運行此函式,您需要呼叫它。我在代碼末尾添加了“switch_off()”。
我們會遇到一個錯誤(NameError),因為“robot_name”沒有定義,這意味著它沒有被設定成任何東西。在我下面的示例代碼中,我將它設定為等于“AI”。現在您的代碼將運行。
我不確定你的意圖是什么,但我會在下面解釋我的示例代碼(希望它會有所幫助)。當你運行 switch_off 函式時,它會提示你“AI:我接下來要做什么?”。如果您輸入“OFF”,它將退出程式。如果您不輸入“OFF”,而是輸入“off”,則程式將列印“AI: Shutting down...”。如果您鍵入“OFF”或“off”以外的其他內容,它將通過再次呼叫來重復該函式(請參閱我如何在“else:”中設定 switch_off)
請注意,== 表示相等,而 != 表示不相等。還要記住,如果前一個 if 和/或 elif 不為真,“else:”將始終運行。
def switch_off():
robot_name = "AI"
answer = input (robot_name ": what must I do next? " )
if answer == "OFF":
quit()
elif answer.lower() == "off":
print( robot_name ": Shutting down...")
else:
print(robot_name ": Sorry, I did not understand")
switch_off()
switch_off()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/350618.html
