import random # pile, userWins, computerWins: state # user, computer: input def nim(): global pile, computerWins, userWins userWins = 0 computerWins = 0 while True: pile = int(raw_input("Size: ")) while True: if userMove() != "go on": break if computerMove() != "go on": break print "The score is", (userWins, computerWins) if raw_input("Play again?") == "no": break def userMove(): global pile, computerWins user = int(raw_input("Your turn: ")) pile = pile - user if pile < 0: print "You lost." computerWins = computerWins + 1 return "end the game" print "The pile becomes", pile, "computer moves now" return "go on" def computerMove(): global pile, userWins computer = random.randrange(10) print "Computer withdraws", computer pile = pile - computer if pile < 0: print "The computer lost." userWins = userWins + 1 return "end the game" print "The pile becomes", pile, "it's your turn now" return "go on"