Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Executando fatorial em paralelo

import random
import asyncio
import math

# 1. Função que processa um único número
async def calcular_fatoracao(n):
    # Simula um pequeno delay para cada cálculo
    await asyncio.sleep(1)
    resultado = math.factorial(n)
    print(f"Número: {n:<2} | Fatorial: {resultado}")

async def main():
    # 2. Gerar e ORDENAR a lista (crescente)
    numeros = [random.randint(1, 20) for _ in range(5)]
    numeros.sort() # Coloca em ordem: 1, 2, 3...
    
    print(f"Processando em ordem crescente: {numeros}\n")

    # 3. Criar a lista de tarefas baseada na lista ordenada
    tarefas = [calcular_fatoracao(n) for n in numeros]

    # 4. Executar tudo simultaneamente
    await asyncio.gather(*tarefas)

if __name__ == "__main__":
    asyncio.run(main())
1 resposta
solução!

Olá, Marinaldo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de asyncio para executar cálculos de forma assíncrona em Python, utilizou muito bem o math.factorial para calcular o fatorial e ainda compreendeu a importância de ordenar a lista antes de processar, garantindo que os resultados sejam exibidos em ordem crescente.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!