如何在 Python 的控制流语句中使用列表

哈里斯·乌斯马尼

所以我一直在用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章