import asyncio warehouse_store = { "Диван": 15, "Обеденный_стол": 10, "Офисное_кресло": 25, "Кофейный_столик": 12, "Кровать": 8, "Книжный_шкаф": 20, "ТВ-тумба": 7, "Шкаф": 9, "Письменный_стол": 18, "Тумбочка": 14, "Комод": 11, "Барный_стул": 22, "Угловой_диван": 4, "Двухъярусная_кровать": 3, "Шезлонг": 2, "Консольный_столик": 16, "Кресло": 17, "Туалетный_столик": 19, "Книжный_стеллаж": 24, "Банкетка": 10, "Обеденный_стул": 28, "Кресло-качалка": 15, "Шкаф-купе": 18, "Табуретка": 40, "Стеллаж": 13, "Кресло-мешок": 5, "Кухонный_гарнитур": 6, "Журнальный_столик": 8, "Витрина": 7, "Полка": 30, } order = {"Диван": 5, "Обеденный_стол": 3, "Табуретка": 50, "Гардероб": 1} async def check_store(position: str, amount_needed: int): amount_in_stock = warehouse_store.get(position) if not amount_in_stock or amount_in_stock == 0: asyncio.current_task().set_name(f"Отсутствует: {position}") elif amount_in_stock < amount_needed: asyncio.current_task().set_name(f"Частично в наличии: {position}") elif amount_in_stock >= amount_needed: asyncio.current_task().set_name(f"В наличии: {position}") async def main(): tasks = [ asyncio.create_task(check_store(position, amount_needed)) for position, amount_needed in order.items() ] done, _ = await asyncio.wait(tasks, return_when=asyncio.ALL_COMPLETED) result_names = [done_task.get_name() for done_task in done] result_names.sort() for entry in result_names: print(entry) asyncio.run(main())