1
resposta

[Dúvida] Minha solução esta correta?

inicio = time.time()

async def baixar(nome:str,tamanho:int):
    print(f"Iniciando download de {nome} (tamanho: {tamanho}MB)...")
    await asy.sleep(1)
    baixado = 5
    
while baixado <= tamanho:
    tempo_sistema = time.time() - inicio
    print(f"[{tempo_sistema:.0f}s]{nome}: {baixado}MB baixados")
    await asy.sleep(1)
    baixado += 5
    
print(f"[{tempo_sistema:.0f}s] Downloand do {nome} conluido!\n") 

async def main():
    tarefas = (
        asy.create_task(baixar("arquivo_1.txt",30)),
        asy.create_task(baixar("arquivo_2.txt",45)),
        asy.create_task(baixar("arquivo_3.txt",20)),
        asy.create_task(baixar("arquivo_4.txt",10)),
        asy.create_task(baixar("arquivo_5.txt",50)),
        )
    await asy.gather(*tarefas)

asy.run(main())
1 resposta

Oi, Gustavo! Como vai?

Do jeito que você explicou, chama atenção a tentativa de simular o progresso do download usando async e tarefas concorrentes, o que esta bem alinhado com a proposta da atividade de programação assíncrona.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abracos e bons estudos!