from random import choice, randrange

##########################################################################
##############################  klassen Husdjur  #########################
##########################################################################

class Husdjur(object):
    """ Ett virtuellt husdjur """

    def __init__(self):
        """Ger husdjurets attribut slumpade värden"""
        self.__namn = choice("BCFKR" )+choice("iouy")+\
                    2*choice("nst")+choice("aey")
        self.__glad = randrange(10)
        self.__hunger = randrange(3)
        self.__kön = choice(("hona","hane"))
        self.__preferens = choice(("samma","annat"))

    def  namn(self):
        """Åtkomstmetod för namnet"""
        return self.__namn

    def  bytNamn(self, nyttNamn):
        """Ändringsmetod för namnet"""
        self.__namn = nyttNamn

    def __str__(self):
        """Returnerar en sträng som beskriver husdjuret"""  
        beskrivning = self.__namn + " är "
        if self.__glad > 5:
            beskrivning += "glad: (^_^)"
        else:
            beskrivning += "ledsen: (T_T)"
        if self.__hunger > 3:
            beskrivning += " och hungrig!"
        else:
            beskrivning += " och mätt."
        return beskrivning


    def banna(self):
        """ Ger husdjuret bannor. Glad minskar."""
        print("- Fy på dig", self.__namn, "!")
        self.__glad -= 3

    def mata(self, mat):
        """Ger husdjuret mat. Hunger minskar."""
        for i in range(mat):
            print("GLUFS",end="")
        print
        self.__hunger -= mat

    def leka(self):
        """Leker med husdjuret. glad och hunger ökar"""
        self.__glad += 1
        print("\n~~~~~~~~~~~ WHEEEEEEE! ~~~~~~~~~~~")
        self.__hunger  += 3
        
    def avsked(self):
        """Tar avsked."""
        print("Hejdå,", self.__namn, "kommer att sakna dig!")


##########################################################################
##############################    Huvudprogram   #########################
##########################################################################

n = int(input("Hur många husdjur vill du ha? "))

#Skapar en lista med n stycken husdjur
lista = []
for i in range(n):
    nytt = Husdjur()
    lista.append(nytt)


#Visar alla husdjur
n  = len(lista)
print("\n*** Du har", n, "husdjur: ***")
for djur in lista:
    print(djur)
print("******************************************\n")
        

svar = input(" Vill du att dina husdjur ska \n  bannas \n  få mat \n  leka? " )
while svar:
    if svar[0]=="f":
        bullar = int(input("Hur många bullar var? "))
        for djur in lista:
            djur.mata(bullar)    
    elif svar[0]=="b":
        for djur in lista:
            djur.banna()
    elif svar[0]=="l":
        for djur in lista:
            djur.leka()
    else:
        print("Hursa? ")

    print("\n*** Du har", n, "husdjur: ***")
    for djur in lista:
        print(djur)
    print("******************************************\n")    
    svar = input(" Vill du att dina husdjur ska \n  bannas \n  få mat \n  leka? " )

#Djuren säger adjö
for djur in lista:
    djur.avsked()
