我想知道如何结束我的程序而不会弹出一个标签,说我必须“杀死python”。我尝试了exit(),它可以工作,但是会弹出一个选项卡,并强迫我退出,这是我不想要的。这是我的代码:
if (answer == "no"):
print("okay, goodbye")
exit()
elif (answer == "yes"):
print("great! let's continue talking")
question2 = input("What is your favorite food? ")
从本质上讲,我希望程序停止/结束而之后没有实际弹出消息,告诉我关闭选项卡;就像我只是希望它停止一样,就像我打印了一条语句一样。无论如何,我希望程序在用户选择“否”时停止,因为如果用户选择“是”,则将question2放在那里,但是在选择“否”并且在那里没有exit()之后,question2仍然显示。有关尝试修复的更好示例,我尝试了:
import time
if (answer == "no"):
print("okay, goodbye")
time.sleep(99999.9)
elif (answer == "yes"):
print("great! let's continue talking")
question2 = input("What is your favorite food? ")
但是我发现这种方式很愚蠢,而且做错了方法。有什么功能类似于exit(),它可以完全停止程序而不会在之后弹出选项卡,告诉我关闭该选项卡?
当然未定义“答案”,因为我故意没有添加,因为我对此没有疑问。
答案 0 :(得分:1)
退出Python程序的正确方法是使用raise SystemExit('message')
或import sys; sys.exit('message')
,而不是到达代码结尾。该消息是可选的。没有弹出窗口。由于IDLE是一个学习和开发环境,所以IDLE本身不会退出。
quit()
和exit()
函数不是常规的内置函数。可能是由站点模块添加的。它们仅用于在“ >>>”提示下进行交互使用。在常规的交互式python中,其效果是无条件退出python。在IDLE中,询问用户是否真的要杀死Shell窗口。由于IDLE是针对初学者的,因此它会尽力避免让用户意外退出。 (请注意,代码中的SystemExit不会退出IDLE。)
quit()和exit()不应在代码中使用。它们可能是NameErrors,或者如上所述,确切的效果可能取决于环境。