所以我一直在用 Python 3.7 开发一个基本的机器人,我正在研究关闭功能。当用户输入“shutdown”或“Shutdown”这个词时,机器人会确认你是否真的想关闭程序。
对于“是:”和“否”命令,我将所有命令存储在一个列表中。现在,当我使用我创建的程序时,它仅适用于列表中的第一项,而不适用于其他项。给出了示例以下:
import time
shutdownAnswerYes = ["Yes", "yes", "Ye", "ye", "Y", "y"]
shutdownAnswerNo = ["No", "no", "nah", "nope", "N", "n"]
shutdown = "shutdown"
while True:
question = input("What do you want to do?: ")
if question == shutdown:
shutdownAnswer = input("Are you sure you want to shutdown?: ")
if shutdownAnswer == shutdownAnswerNo[0]:
print("Got it! Resuming back to normal mode.")
elif shutdownAnswer == shutdownAnswerYes[0]:
print("Got it! Shutting down.")
time.sleep(1)
exit("Shutdown Complete.")
如果您尝试运行此代码,您会注意到,如果您键入列表中的第一项“是”或“否”,程序将正常运行。但是,如果您在列表中键入任何其他项目,例如“是”或“否”,它将不起作用。
我也通过更改 [] 括号中的数字尝试了此代码,但它不起作用。
您刚刚检查了索引为 0 的第一个元素。
import time
shutdownAnswerYes = ["Yes", "yes", "Ye", "ye", "Y", "y"]
shutdownAnswerNo = ["No", "no", "nah", "nope", "N", "n"]
shutdown = "shutdown"
while True:
question = input("What do you want to do?: ")
if question == shutdown:
shutdownAnswer = input("Are you sure you want to shutdown?: ")
if shutdownAnswer in shutdownAnswerNo:
print("Got it! Resuming back to normal mode.")
elif shutdownAnswer in shutdownAnswerYes:
print("Got it! Shutting down.")
time.sleep(1)
exit("Shutdown Complete.")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句