1
resposta

[Projeto] Executando fatorial

import asyncio
import math

numeros = [5, 3, 7, 4, 6]


async def fatorar_numeros(n):
        await asyncio.sleep(2)
        print(f'Fatorial de {n} é: {math.factorial(n)}')

#Método manual:

# #for n in numeros:
# #    resultado = 1
# #    for num in range(1, n + 1):
# #        resultado *= num
# #        print(f'Fatorial de {n} é: {math.factorial(n)}')


async def organizar_tarefas():
    tarefas = [asyncio.create_task(fatorar_numeros(n)) for n in numeros]
    await asyncio.gather(*tarefas)


async def main():
    await organizar_tarefas()


if __name__ == '__main__':
    asyncio.run(main())
1 resposta

Bom dia, Matheus! Como está?

Incrível! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Notei que você utilizou o asyncio para executar múltiplas tarefas de forma assíncrona, aplicou de forma eficaz o math.factorial() para obter o fatorial de cada número com precisão e compreendeu a importância do await asyncio.sleep() para simular delays em aplicações reais.

Permaneça 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:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

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

Abraço e bons estudos!

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