Python 2.7.8如何重新启动游戏代码

问题描述:

我正在寻找如何重新启动此代码而不实际重新启动游戏。我希望能够重新启动游戏。Python 2.7.8如何重新启动游戏代码

print 'Welcome to the game of NIM: ' 
player=1 
state=21 
print 'The number of objects is now ',state 
while True: 
    print 'Player ',player 
    while True: 
     move=input('What is your move? ') 
     if move in [1,2,3] and move<state: 
      break 
     print 'Illegal move.' 
    state=state-move 
    print 'The number of objects is now ',state 

    if state==1: 
     print 'Player ',player,' wins!' 
     break 
    if player==1: 
     player=2 
    else: 
     player=1 
print 'Game is over.' 

你可以把一个函数代码,并呼吁在一个while循环功能:

from sys import exit #To exit if the user does not want to try again 
print 'Welcome to the game of NIM: ' 
def game(): 
    player=1 
    state=21 
    print 'The number of objects is now ',state 
    while True: 
     print 'Player ',player 
     while True: 
      move=input('What is your move? ') 
      if move in [1,2,3] and move<state: 
       break 
      print 'Illegal move.' 
     state=state-move 
     print 'The number of objects is now ',state 

     if state==1: 
      print 'Player ',player,' wins!' 
      break 
     if player==1: 
      player=2 
     else: 
      player=1 
    if raw_input('Would you like to try again? ').lower().startswith('y'): 
     return #To exit from the function cleanly 
    sys.exit() #To exit from the program cleanly if the user does not want to try again 
def run(): 
    while True: 
     game() 
if __name__ == '__main__': 
    run() 
+0

你怎么退出是什么呢? – Andrew 2014-12-06 04:44:21

+0

我刚刚编辑了代码,现在,程序会询问用户是否想再次尝试,如果他们这样做,它会重新启动,如果没有,它将使用['sys.exit()'](https:// docs.python.org/2/library/sys.html#sys.exit) – 2014-12-06 04:45:30

+0

我明白了,谢谢。然而,什么是退出命令? – Andrew 2014-12-06 04:48:37