0
respostas

[RESPOSTA]

import asyncio
import random

async def download(arquivo, tamanho):
    print(f'Iniciando download de {arquivo} (tamanho: {tamanho})...')
    tempo = round(tamanho/5)
    for i in range(0, tempo):

        await asyncio.sleep(1)
        print(f'[{i + 1}s] {arquivo}: {(i + 1) * 5}MB baixados')

    print(f'{arquivo} concluído!\n')

async def main():
    arquivos = [f"arquivo{i}.txt" for i in range(1,6)]
    tamanho = [(5*random.randint(2, 10)) for i in range(0, 6)]
    tarefas = [asyncio.create_task(download(arquivos[i], tamanho[i+1])) for i in range(0, 5)]
    await asyncio.gather(*tarefas)
    print("Todos os downloads foram finalizados!")

asyncio.run(main())