Add 6.13 solutions

This commit is contained in:
pro100ton 2024-11-20 21:36:43 +03:00
parent ca9fd45ea1
commit 8426560ba4
3 changed files with 154 additions and 0 deletions

View file

@ -0,0 +1,58 @@
import asyncio
codes = [
"56FF4D",
"A3D2F7",
"B1C94E",
"F56A1D",
"D4E6F1",
"A1B2C3",
"D4E5F6",
"A7B8C9",
"D0E1F2",
"A3B4C5",
"D6E7F8",
"A9B0C1",
"D2E3F4",
"A5B6C7",
"D8E9F0",
]
messages = [
"Привет, мир!",
"Как дела?",
"Что нового?",
"Добрый день!",
"Пока!",
"Спокойной ночи!",
"Удачного дня!",
"Всего хорошего!",
"До встречи!",
"Счастливого пути!",
"Успехов в работе!",
"Приятного аппетита!",
"Хорошего настроения!",
"Спасибо за помощь!",
"Всего наилучшего!",
]
async def print_message(message):
# print(f"Сообщение: {message}")
return message
def print_code(task: asyncio.Task):
message_code = codes.pop(0)
task_message = task.result()
print(f"Сообщение: {task_message}\nКод: {message_code}")
async def main():
tasks = [asyncio.create_task(print_message(message)) for message in messages]
for task in tasks:
task.add_done_callback(print_code)
await task
asyncio.run(main())

View file

@ -0,0 +1,63 @@
import asyncio
codes = [
"56FF4D",
"A3D2F7",
"B1C94A",
"F56A1D",
"D4E6F1",
"A1B2C3",
"D4E5F6",
"A7B8C9",
"D0E1F2",
"A3B4C5",
"D6E7F8",
"A9B0C1",
"D2E3F4",
"A5B6C7",
"D8E9F2",
]
messages = [
"Привет, мир!",
"Как дела?",
"Что нового?",
"Добрый день!",
"Пока!",
"Спокойной ночи!",
"Удачного дня!",
"Всего хорошего!",
"До встречи!",
"Счастливого пути!",
"Успехов в работе!",
"Приятного аппетита!",
"Хорошего настроения!",
"Спасибо за помощь!",
"Всего наилучшего!",
]
async def print_message(message_index: int):
await asyncio.sleep(message_index/100 + 0.01)
# Get code
code = codes[message_index]
if int(code[-1], 16) % 2 == 0:
print("Сообщение: Неверный код, сообщение скрыто")
else:
print(f"Сообщение: {messages[message_index]}")
return message_index
def print_code(task: asyncio.Task):
print(f"Код: {codes[task.result()]}")
async def main():
tasks = []
for index in range(0, len(messages)):
task = asyncio.create_task(print_message(index))
task.add_done_callback(print_code)
tasks.append(task)
await asyncio.gather(*tasks)
asyncio.run(main())

View file

@ -0,0 +1,33 @@
import asyncio
import random
random.seed(5)
def on_data_parsed(task):
result = task.result()
print(f"Найдено {len(result)} файлов для скачивания: {result}")
async def parse_data(url):
await asyncio.sleep(1)
if random.choice([True, False]):
file_urls = [f"{url}/example_file.zip"]
current_task = asyncio.current_task()
current_task.add_done_callback(on_data_parsed)
else:
file_urls = []
return file_urls
async def main():
urls = [
"https://example.com/data1",
"https://example.com/data2",
"https://example.com/data3",
]
tasks = [asyncio.create_task(parse_data(url)) for url in urls]
await asyncio.gather(*tasks)
asyncio.run(main())