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()
