如何在Python中使用sys.exit()
player_input = '' # This has to be initialized for the loop
while player_input != 0:
player_input = str(input('Roll or quit (r or q)'))
if player_input == q: # This will break the loop if the player decides to quit
print("Now let's see if I can beat your score of", player)
break
if player_input != r:
print('invalid choice, try again')
if player_input ==r:
roll= randint (1,8)
player +=roll #(+= sign helps to keep track of score)
print('You rolled is ' + str(roll))
if roll ==1:
print('You Lose :)')
sys.exit
break
我想让程序在 roll == 1
的时候退出,但什么也没发生,每次我试着用 sys.exit()
时,它都会给我一个错误信息。
这是我运行程序时看到的消息:
Traceback (most recent call last):
line 33, in <module>
sys.exit()
SystemExit
6 个回答
8
sys.exit()
会引发一个叫做 SystemExit
的异常,你可能会把它当成错误来处理。如果你希望你的程序在结束时不引发这个 SystemExit
,而是优雅地返回,你可以把你的功能放在一个函数里,然后在你打算使用 sys.exit
的地方直接返回。
10
你在代码里没有导入sys这个模块,而且在调用函数的时候也没有把括号关上...试试看:
import sys
sys.exit()
38
我觉得你可以使用
sys.exit(0)
你可以在这里查看Python 2.7 的文档:
可选的参数 arg 可以是一个整数,用来表示退出状态(默认是零),也可以是其他类型的对象。如果是整数,零被认为是“正常结束”,而任何非零的值则被认为是“异常结束”,这在命令行等环境中是这样理解的。