有什么方法可以让我的程序退出吗?

2024-04-26 18:16:54 发布

您现在位置:Python中文网/ 问答频道 /正文

对于“我的程序”菜单中的“q”(退出)选项,我有以下代码:

elif choice == "q":
    print()

一直到我把它放在无限循环中,不断地打印空行为止。有什么方法可以退出程序吗?否则,你能想出别的办法吗?


Tags: 方法代码程序选项菜单printchoiceelif
3条回答

结束程序的实际方法是调用

raise SystemExit

这就是sys.exitdoes, anyway

普通的SystemExit,或者将None作为单个参数,将进程的退出代码设置为零。任何非整数异常值(raise SystemExit("some message"))将异常值打印到sys.stderr,并将退出代码设置为1。整数值将进程的退出代码设置为以下值:

$ python -c "raise SystemExit(4)"; echo $?
4

一种方法是:

sys.exit(0)

你当然得import sys

另一种方法是从无限循环中break。例如,您可以执行以下操作:

while True:
    choice = get_input()
    if choice == "a":
        # do something
    elif choice == "q":
        break

另一种方法是将主循环放入函数中,并使用return

def run():
    while True:
        choice = get_input()
        if choice == "a":
            # do something
        elif choice == "q":
            return

if __name__ == "__main__":
    run()

使用return时需要run()函数的唯一原因是(与其他一些语言不同),不能直接从Python代码的主要部分(不在函数内部的部分)中return

在Python 3中有一个exit()函数:

elif choice == "q":
    exit()

相关问题 更多 >