Аркадий задумал создать умный дом и выбрал умный холодильник в качестве первого шага. Он разрабатывает программу

  • 51
Аркадий задумал создать умный дом и выбрал умный холодильник в качестве первого шага. Он разрабатывает программу для холодильника, которая будет принимать входные действия пользователя и выводить на экран информацию о содержимом холодильника и советы по покупкам. Напишите программу, которая будет считывать команды пользователя с клавиатуры и отображать актуальное содержимое холодильника. Команда состоит из двух частей: название продукта и количество (то есть изменение количества продукта). Например, команда "молоко -1" означает, что из холодильника взяли одну бутылку молока. Другой пример: команда "хлеб +3" означает, что в холодильник добавили три единицы хлеба.
Сон
33
действия пользователя может быть "яблоки +5", что означает, что в холодильник было добавлено 5 яблок. Для выполнения данной задачи следует использовать язык программирования, способный работать с вводом и выводом данных. Python предоставляет такую возможность.

Вот программа на Python, которая выполняет указанные требования:

python
class SmartFridge:
def __init__(self):
self.contents = {}

def add_item(self, item, quantity):
if item in self.contents:
self.contents[item] += quantity
else:
self.contents[item] = quantity

def remove_item(self, item, quantity):
if item not in self.contents:
print(f"Ошибка: продукта {item} нет в холодильнике.")
elif self.contents[item] < quantity:
print(f"Ошибка: в холодильнике недостаточно продукта {item}.")
else:
self.contents[item] -= quantity

def display_contents(self):
if len(self.contents) == 0:
print("Холодильник пуст.")
else:
print("Содержимое холодильника:")
for item, quantity in self.contents.items():
print(f"{item}: {quantity}")

fridge = SmartFridge()

while True:
command = input("Введите команду: ")
if command == "выход":
break
else:
parts = command.split(" ")
if len(parts) != 2:
print("Ошибка: неверный формат команды.")
else:
item = parts[0]
quantity = int(parts[1])
if quantity < 0:
fridge.remove_item(item, -quantity)
else:
fridge.add_item(item, quantity)

fridge.display_contents()


Эта программа создает класс `SmartFridge`, имитирующий умный холодильник. Он содержит методы `add_item`, `remove_item` и `display_contents` для добавления, удаления и отображения содержимого холодильника соответственно. Она также содержит основной цикл, который считывает команды пользователя с клавиатуры и вызывает соответствующие методы класса.

Программа начинается с создания экземпляра класса `SmartFridge`. Затем она входит в бесконечный цикл, который просит пользователя ввести команду. Если пользователь вводит "выход", цикл прерывается и программа завершается. В противном случае программа разделяет введенную команду на две части - название продукта и количество. Затем она вызывает соответствующие методы `add_item` или `remove_item`, в зависимости от того, положительное или отрицательное количество введено. После каждой операции программа отображает актуальное содержимое холодильника.

Надеюсь, что эта программа помогла Аркадию разработать программу для его умного холодильника. Она позволяет добавлять и удалять продукты, а также отображать текущее содержимое холодильника. Если у вас возникнут вопросы или есть что-то непонятно, не стесняйтесь задавать дополнительные вопросы.