python - 如果答案无效则重新启动 if 循环

标签 python python-3.x

我有以下代码,如果触发了else,我该如何继续让他们再次输入而不是退出循环?

尝试了一些真正的东西,但无法让它发挥作用。

if awaken in ["a", "stand up"]:
    print("Holy...")
elif awaken in ["b", "take a breath"]:
    print("Just more text holding")
elif awaken in ["c", "go back to sleep"]:
    print("")
else:
    print("I don't understand your answer... try again")

最佳答案

将其全部放入 while 循环中。

while True:
    awaken = input("Enter command: ").strip()  # I presume that you are taking input from user
    if awaken in ["a", "stand up"]:
        print("Holy...")
        break
    elif awaken in ["b", "take a breath"]:
        print("Just more text holding")
        break
    elif awaken in ["c", "go back to sleep"]:
        print("")
        break
    else:
        print("I don't understand your answer... try again")

输出:

Enter command: x
I don't understand your answer... try again
Enter command: y
I don't understand your answer... try again
Enter command: a
Holy...

不要忘记使用break

我不确定为什么你的最初不起作用,但上面的循环应该可以完成这项工作。

关于python - 如果答案无效则重新启动 if 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57032064/

相关文章:

json - 如何将嵌套类转换为 json 或 dict?

尝试将txt文件插入MySql时MySql错误1054

python - 如何从纯 python 创建 yaml 文件?

python - Swagger 使用 DefaultRouter 在 Django Rest Framework 中仅打印字符串数据类型

python - 如何迭代一个列表的值,用函数更改它并将其添加到第二个列表?

python - 如何使用 Python 访问/下载 OneNote 笔记本?

python-3.x - python模式验证问题

python - 如何在 Django 中设置时区

python - 如何在 Python 中获取当前的 CPU 和 RAM 使用情况?

python-3.x - 新应用引擎应用的 Python 3.7 本地开发服务器选项