Напишите класс Seq(name), экземпляры которого обладают свойством синхронизации в порядке их создания. Единственный параметр — name — это уникальный идентификатор экземпляра. Класс должен предоставлять корутину .run(), которая в нужный момент выводит name на стандартный вывод; возвращает она тоже name.

   1 import asyncio
   2 import random
   3 
   4 # …
   5 
   6 async def main(*names):
   7     random.seed(1337)
   8     random.shuffle(seq := [Seq(name) for name in names])
   9     shnames = [s.name for s in seq]
  10     print(*shnames)
  11     result = await asyncio.gather(*(s.run() for s in seq))
  12     print(*result)
  13 
  14 asyncio.run(main(1, 2, 3, 4, 5, 6, 7))  

1 6 4 2 3 7 5
1
2
3
4
5
6
7
1 6 4 2 3 7 5


CategoryHomework

LecturesCMC/PythonIntro2024/Homework_SyncSeq (последним исправлял пользователь FrBrGeorge 2024-12-14 21:29:55)