End a python script after a certain amount of time
我正在尝试制作一个简单的python游戏来训练我的技能,它就像一个带陷阱的地下城和类似的东西,这里是游戏代码的一部分:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from sys import exit def trap(): print"You've fallen into a trap,you have 10 seconds to type the word "Get me out"" user_input = raw_input(">") right_choice ="Get me out" if *SOME CODE*: *MORE CODE* else: die("you died,you were too slow") def die(why): print why ,"Try again" exit(0) |
你可以看到我想在10秒后结束python脚本,如果user_input不等于right_choice,通过替换上面代码示例中的SOME CODE,MORE CODE,该怎么做?
试试这个。 它使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import signal from sys import exit def trap(): print"You've fallen into a trap,you have 10 seconds to type the word "Get me out"" signal.signal(signal.SIGALRM, die) signal.alarm(10) user_input = raw_input(">") right_choice ="Get me out" if *SOME CODE*: *MORE CODE* signal.alarm(0) def die(signum, frame): print"Try again" signal.alarm(0) exit(0) |
您希望通过信号完成您想要完成的任务:https://stackoverflow.com/a/2282656/2896976
不幸的是,没有一种友好的方式来处理这个问题。 通常对于游戏,你会在每一帧都调用它,但像