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())