我已经排除了os.exit
,sys.exit()
,raise SystemExit(0)
,quit
和exit()
。
一旦满足我的多个条件之一,我想彻底停止。
while x:
#do something
#for loop
#if a:
#do something
print "Game over"
os.exit
#elif b:
#do something
print "Game over"
os.exit
break
while y:
#(...same form as the previous one^)
#get user input for the next turn
#while 1
#...
#while n
当我玩游戏时,游戏结束消息被打印到屏幕上,尽管被告知要停止,它仍会询问用户输入。
答案 0 :(得分:1)
这就是sys.exit()的工作方式。如果您导入并到达它,Sys.exit()应该可以工作。也许更多故障排除信息会有所帮助?这适用于python和python3
#!/usr/bin/env python
import sys
while 1==1:
print("This will print")
if 2==2:
print("This will also print")
sys.exit()
print("This will not print")
print("This will not print")
这是我的终端输出:
Matts-MacBook-Pro:Desktop mw$ ./stupid.py
This will print
This will also print
修改。
正如@goosfraba所说,sys.exit(0)可能是最好的做法。提供The link表示没有参数可以有未定义的行为。另一个参数如1或"这是一条错误消息"也会有效。
答案 1 :(得分:0)
通过这些小改动,我成功地完成了这项工作:
import os
while True:
#do something
#for loop
if False:
#do something
print "Game over A"
os._exit(0)
elif True:
#do something
print "Game over B"
os._exit(0)
break
print "Not over"
输出:
Game over B
请注意缺少 Not over 输出。
也许你需要_exit(<status>)
?
答案 2 :(得分:0)