TypeError: () takes no arguments Вылетает ошибка

import random


class Human:

    def __int__(self, name, satiety=50, food=50, money=0):
        self.name = name
        self.satiety = satiety
        self.food = food
        self.money = money

    def day(self, action):
        if self.satiety < 20 and self.food >= 10:
            self.satiety += 10
            self.food -= 10
            print(f'{self.name} поел.')
        elif self.food < 1 and self.money > 0:
            self.food += 20
            self.money -= 10
            print(f'{self.name} сходил в магазин.')
        elif action == 1:
            self.money += 50
            print(f'{self.name} работает.')
        elif action == 2:
            self.satiety += 10
            self.food -= 10
            print(f'{self.name} трапезничает.')
        else:
            self.satiety -= 10
            print(f'{self.name} играет.')


class Result:
    def __init__(self, man_1, man_2):
        self.man_1 = man_1
        self.man_2 = man_2

    def life_death(self):
        if self.man_1.satiety == 0 or self.man_2.satiety == 0:
            return True, print('Один из участников умер')


human_1 = Human('Степан')
human_2 = Human('Артур')

result = Result(human_1, human_2)
count_day = 0

while True:
    count_day += 1
    if count_day == 365:
        print('\nЭксперимент удался, все живы.')
        break
    elif result.life_death():
        break
    else:
        r = random.randint(1, 6)
        human_1.day(r)
        human_2.day(r)

print(count_day)

Подскажите пожалуйста. Уже все пересмотрел но на 43 и 44 строке вылетает TypeError: Human() takes no arguments Ума не приложу в чем может быть причина.


Ответы (1 шт):

Автор решения: 4500zenja

Вы просто вместо __init__ написали __int__, из-за чего интерпретатор решил, что у бедного класса нет конструктора. Если поменять эти строки, то программа должна будет заработать.

def __init__(self, name, satiety=50, food=50, money=0): # было — __int__
        self.name = name
        self.satiety = satiety
        self.food = food
        self.money = money
→ Ссылка