Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Задача на Python

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

Напишите программу, которая считывает с клавиатуры команды пользователя и выводит на экран актуальное содержание холодильника.

Команда состоит из двух частей: имя продукта количество (то есть как оно изменилось)

Например, молоко -1 значит, что из холодильника забрали 1 бутылку молока.

Ещё пример: хлеб +3 значит, что в холодильник добавили 3 батона хлеба.

Содержимое холодильника выводится в виде списка из строк имя продукта: N . Например:

Молоко: 10
Хлеб: 2
Шоколадки: 14

Ваша задача сделать программу с учётом только этих продуктов: молоко, хлеб, шоколадки.

После каждой команды пользователя на экране обновляется содержание холодильника.

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

Символ конца работы программы – команда "закрыть 0".



Формат входных данных
Команды из двух частей: имя продукта количество

Символ конца работы программы – команда "закрыть 0".

После окончания вывода содержимого холодильника и рекомендаций по закупкам печатайте на экран __________, чтобы визуально отделить содержание от будущих команд.

Формат выходных данных
Актуальное содержимое холодильника и советы по закупкам (если они требуются).

Примечания
Чтобы на Питоне считать слово и число в одной строке:

product, num = input().split()
num = int(num)

По дате
По рейтингу
Аватар пользователя
Ученик

если уже прошло занятие скинь ответ на эту задачу

Аватар пользователя
Профи

def smart_fridge():
"""
Simulates a smart fridge that tracks inventory and suggests purchases.
"""
inventory = {"молоко": 10, "хлеб": 2, "шоколадки": 14}

while True:
command = input().split()

if command[0] == "закрыть" and int(command[1]) == 0:
break

product, change = command[0], int(command[1])

if product not in inventory:
print("Неизвестный продукт.")
continue

inventory[product] += change

if inventory[product] <= 0:
print(f"Нужно купить {product}")
inventory[product] = 0 # Prevent negative quantities

print_inventory(inventory)
print("__________") # Separator

def print_inventory(inventory):
"""
Prints the current inventory of the fridge.
"""
for product, quantity in inventory.items():
print(f"{product}: {quantity}")

if __name__ == "__main__":
smart_fridge()