Я новенькая в таком занятии, как программирование.
Стала буквально недавно изучать Python и как только решила написать одну из программ с классами, сразу возникли ошибки. Я не до конца поняла логику.
В общем, в программе есть класс Диета (Diet).
В нём соответственно есть 4 метода, включая конструктор __init__.
Я хотела всё сделать круто, чтобы при запуске программы я вводила только 2 числа: дневную норму калорий человека и калорийность того продукта, которого якобы человек собирается скушать.
Ну всё просто . Норма калорий - количество калорий продукта = сколько осталось скушать. Это должно было быть ответом программы при запуске. Но поняла, что я окончательно запуталась с атрибутами. Не понимаю, что куда ставить.
import operator class Diet(object): ''' Подсчёт калорий ''' def __init__(self,norm_calories,calories_product ): self.norm_calories = norm_calories self.calories_product = calories_product def product(self): # Калорийность продукта print('Калорийность продукта:', self.calories_product) def man(self, norm_calories): # Норма калорий для человека self.norm_calories = norm_calories print('Норма калорий человека:', self.norm_calories) def result(self): # Подсчёт калорий (норма - калорийность продукта) self.calories = operator.sub(self.norm_calories, self.calories_product) # Вычитание print('Вам осталось скушать',self.calories,'калорий') # Основная часть norm_calories = input('Введите вашу норму калорий:') Norma = Diet(norm_calories,0) print('Ваша норма калорий:', norm_calories) calor_your_product = input('Введите калорийность продукта') Calor_product = Diet(0,calor_your_product) print('Калорийность этого продукта = ', calor_your_product) print(Diet.result()
Где-то я намудрила. Не знаю, как вывести результат так, чтобы мне самой не задавать формулу вычитания в основной части кода, а чтобы метод result всё сделал за меня, обработав 2 предыдущих числа, которые вводит пользователь.
В последней строке в скобках после result требует ввести данные за место self. Но ведь self служит ссылкой на другие объекты.
Я запуталась. Помогите пожалуйста.
Заранее большое спасибо!