import random

class Nim(object):
    def __init__(self, height):
        self.height = height
        self.player = 0
        self.names = ["user", "computer"]
        self.scores = {}
        self.scores["user"] = 0
        self.scores["computer"] = 0
    def move(self):
        if self.height == 1:
            print self.names[self.player], "has lost the game."
            winner = self.names[(self.player+1)%2]
            self.scores[winner] += 1
            self.player = 0
            self.height = int(raw_input("New height for new game:"))
        else:
            if self.player == 0:
                user = int(raw_input("How many? "))
                if user > 0 and user <= self.height / 2:
                    self.height -= user
                else:
                    print self.names[self.player], "has lost the game."
                    winner = self.names[(self.player+1)%2]
                    self.scores[winner] += 1
                    self.player = 0
                    self.height = int(raw_input("New height for new game:"))
            else:
                comp = random.randrange(1, self.height/2+1)
                print "The computer chooses", comp
                self.height -= comp
            self.player = (self.player + 1) % 2
            self.report()
    def report(self):
        print "The height is now:", self.height
        print "The",self.names[self.player],"moves."
