Add solutions for 6.7 section
This commit is contained in:
parent
16b8ef873c
commit
0f897ac79e
1 changed files with 60 additions and 0 deletions
60
6_tasks/6_7_04_warehouse.py
Normal file
60
6_tasks/6_7_04_warehouse.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
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())
|
Loading…
Reference in a new issue