python 3.8
Здравствуйте! В моей программе есть несколько классов Nutrition, Product, Breakfast, Lunch, Dinner, Snack, в каждом из которых есть свои методы, и класс Menu, который необходим для работы пользователя с программой. Я наследую все имеющиеся классы в класс Menu, чтобы можно было вызывать в нём необходимые методы все остальных классов, но получаю ошибку:
Cannot create a consistent method resolution
order (MRO) for bases Nutrition, Product, Breakfast, Lunch, Dinner, Snack. Помогите, пожалуйста, решить проблему. Меню обязательно должно быть реализовано в виде класса. Код одного из классов и меню прикрепила.
Благодарю за развёрнутый ответ.
Здравствуйте! В моей программе есть несколько классов Nutrition, Product, Breakfast, Lunch, Dinner, Snack, в каждом из которых есть свои методы, и класс Menu, который необходим для работы пользователя с программой. Я наследую все имеющиеся классы в класс Menu, чтобы можно было вызывать в нём необходимые методы все остальных классов, но получаю ошибку:
Cannot create a consistent method resolution
order (MRO) for bases Nutrition, Product, Breakfast, Lunch, Dinner, Snack. Помогите, пожалуйста, решить проблему. Меню обязательно должно быть реализовано в виде класса. Код одного из классов и меню прикрепила.
Благодарю за развёрнутый ответ.
Python:
class Snack(Nutrition):
""" класс перекус """
# проверка кол-ва ккал на оптимальность для перекуса
def optimal_P(self, s):
optimal = Snack.optimal_KK(Snack.rKKal(gender, Kf, weight, height, age))
# оптимальное кол-во ккал в перекус
optimal_KP = optimal[3]
if (optimal_KP - 10 < s < optimal_KP + 10):
print("оптимальное кол-во калорий для перекуса")
elif (optimal_KP - 50 > s):
print("кол-во калорий НЕ оптимально для перекуса: необходимо увеличить калорийность перекуса")
elif (s > optimal_KP + 50):
print("кол-во калорий НЕ оптимально для перекуса: необходимо уменьшить калорийность перекуса")
def Pp_optimal(self):
Snack.optimal_P(Snack.summ_kkal())
class Menu(Nutrition, Product, Breakfast, Lunch, Dinner, Snack):
""" класс меню """
def PrintMenu(self):
print("_______________________М Е Н Ю_______________________")
print(" 1 - узнать реокмендованное кол-во ЖБУ и ккал в день")
print(" 2 - проверка калорийности завтрака на оптимальность ")
print(" 3 - проверка калорийности обеда на оптимальность ")
print(" 4 - проверка калорийности ужина на оптимальность ")
print(" 5 - проверка калорийности перекуса на оптимальность ")
print(" 6 - расчет ЖБУ и ккал на фактический вес продукта ")
print(" 0 - ВЫХОД ")
print()
while (True):
enter = int(input("введите номер пункта меню : "))
if enter == 1:
print()
Menu = Menu()
Menu.rek()
print()
elif enter == 2:
print()
Menu = Menu()
Menu.Zz_optimal()
print()
elif enter == 3:
print()
Menu = Menu()
Menu.Oo_optimal()
print()
elif enter == 4:
print()
Menu = Menu()
Menu.Uu_optimal()
print()
elif enter == 5:
print()
Menu = Menu()
Menu.Pp_optimal()
print()
elif enter == 6:
print()
Menu = Menu()
Menu.converter()
print()
elif enter == 0:
exit()