0
0 комментариев

Суть проблемы:

class Critter(object):
    name = ' '
    age = 0
    hungry = random.randrange(11)
    sad = random.randrange(11)
    health = random.randrange(11)
    farm = []
 
    def __str__(self):
        return 'Name is '+ str(self.name) + '\n hungry ' + str(self.hungry) + '\n age is '+ str(self.age) + '\n sad is '+ str(self.sad) +'\n health ' + str(self.health) +' farm '+ str(self.farm)

Есть локальная функция, которая создает экземпляр класса:

def createAnimal():
    #  Создать животное
    name = input('Input name pls ')
    global population
    val = 'animal '+ str(population)
    population += 1
    val = Critter()
    val.name = name
    val.farm.append(val)
    print('Congrat you have a new animal with name ', name, ' in your farm a ', len(val.farm), ' animals', end='')
    print(val.farm)

При её вызове получаем такой результат:

Congrat you have a new animal with name  Bob  in your farm a  1  animals[<__main__.Critter object at 0x10e18cd30>]

Как вывести имя с названием животного в данном списке?


Добавить комментарий