Python

Помогите пожалуйста с задачей по python!

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

Человек может:

Есть (+ сытость, − еда).
Работать (− сытость, + деньги).
Играть (− сытость).
Ходить в магазин за едой (+ еда, − деньги).
У человека есть имя, степень сытости (изначально 50) и дом.

В доме есть холодильник с едой (изначально 50 еды) и тумбочка с деньгами (изначально 0 денег).

Если сытость человека становится меньше нуля, то человек умирает.

Логика действий человека определяется следующим образом:

Генерируется число кубика от 1 до 6.
Если сытость < 20, то поесть.
Иначе, если еды в доме < 10, то сходить в магазин.
Иначе, если денег в доме < 50, то работать.
Иначе, если кубик равен 1, то работать.
Иначе, если кубик равен 2, то поесть.
Иначе играть.


По такой логике эксперимента человеку надо прожить 365 дней.



Реализуйте такую программу и создайте двух людей, живущих в одном доме. Проверьте работу программы несколько раз. Надеемся, эти люди живы...
class Water:

def __str__(self):
return "Вода"

def __add__(self, other):
if isinstance(other, Air):
return Storm()
elif isinstance(other, Fire):
return Vapour()
elif isinstance(other, Earth):
return Mud()
else:
return None

class Air:

def __str__(self):
return "Воздух"

def __add__(self, other):
if isinstance(other, Fire):
return Lightning()
elif isinstance(other, Earth):
return Dust()
else:
return None

class Fire:

def __str__(self):
return "Огонь"

def __add__(self, other):
if isinstance(other, Earth):
return Lava()
elif isinstance(other, Electricity):
return Explosion()
else:
return None

class Ice:

def __str__(self):
return "Лёд"

def __add__(self, other):
if isinstance(other, Water):
return Freezing()
elif isinstance(other, Air):
return LowTemperatureArea()
elif isinstance(other, Wind):
return Snowstorm()
elif isinstance(other, Fire):
return Melting()
else:
return None

class Nature:

def __str__(self):
return "Природа"

def __add__(self, other):
if isinstance(other, Earth):
return Thorns()
elif isinstance(other, Fire):
return Combustion()
elif isinstance(other, Water):
return Poisoning()
elif isinstance(other, Ice):
return Crystallization()
else:
return None

class Electricity:

def __str__(self):
return "Электричество"

def __add__(self, other):
if isinstance(other, Ice):
return IceBlast()
elif isinstance(other, Water):
return Charge()
elif isinstance(other, Wind):
return Thunderstorm
else:
return None

class Earth:

def __str__(self):
return "Земля"

class Wind:

def __str__(self):
return "Ветер"

class Storm:

def __str__(self):
return "Шторм"

class Vapour:

def __str__(self):
return "Пар"

class Mud:

def __str__(self):
return "Грязь"

class Lightning:

def __str__(self):
return "Молния"

class Dust:

def __str__(self):
return "Пыль"

class Lava:

def __str__(self):
return "Лава"

class Explosion:

def __str__(self):
return "Взрыв"

class Freezing:

def __str__(self):
return "Замораживание"

class LowTemperatureArea:

def __str__(self):
return "Область низкой температуры"

class Snowstorm:

def __str__(self):
return "Метель"

class Melting:

def __str__(self):
return "Таяние"

class Thorns:

def __str__(self):
return "Шипы"

class Combustion:

def __str__(self):
return "Горение"

class Poisoning:

def __str__(self):
return "Отравление (Яд)"

class Crystallization:

def __str__(self):
return "Кристаллизация"

class IceBlast:

def __str__(self):
return "Ледяной взрыв"

class Charge:

def __str__(self):
return "Заряд"

class Thunderstorm:

def __str__(self):
return "Гроза"
Тима Мизембаев
Тима Мизембаев
257
Лучший ответ
Тима Мизембаев class_list = [Water(), Air(), Fire(), Ice(), Nature(), Electricity(), Earth(), Wind()]
choice_class = int(input("Выберите элемент:\n"
"1. Вода\n"
"2. Воздух\n"
"3. Огонь\n"
"4. Лёд\n"
"5. Природа\n"
"6. Электричество\n"
"Выбор: "))
choice_1 = class_list[choice_class - 1]
print()
Тима Мизембаев choice_elem = int(input("Выберите элемент с которым хотите соединить:\n"
"1. Вода\n"
"2. Воздух\n"
"3. Огонь\n"
"4. Лёд\n"
"5. Природа\n"
"6. Электричество\n"
"7. Земля\n"
"8. Воздух\n"
"Выбор: "))
choice_2 = class_list[choice_elem - 1]
print()

answer = choice_1.__add__(choice_2)
if answer:
print(f"Сложили два класса {choice_1} - {choice_2} и вывели: {answer}")
else:
print("Нечего не получилось. Попробуйте еще раз!")
Тима Мизембаев Соррян, я не тот ответ отправил. Ответ на задачу не верный