Cálculo de Fatorial Recursivo em Python

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Em matemática, o fatorial de um inteiro não negativo n, denotado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. Por exemplo, 5! = 5 x 4 x 3 x 2 x 1 = 120. Neste desafio, você escreverá uma função Python para calcular o fatorial de um número dado usando recursão.

Fatorial

Escreva uma função factorial(num) que recebe um inteiro não negativo num como argumento e retorna seu fatorial. A função deve usar recursão para calcular o fatorial. Se num for menor ou igual a 1, retorne 1. Caso contrário, retorne o produto de num e o fatorial de num - 1. A função deve lançar uma exceção se num for um número negativo ou de ponto flutuante.

def factorial(num):
  if not ((num >= 0) and (num % 1 == 0)):
    raise Exception("Number can't be floating point or negative.")
  return 1 if num == 0 else num * factorial(num - 1)
factorial(6) ## 720

Resumo

Neste desafio, você aprendeu como calcular o fatorial de um número usando recursão. Você também aprendeu como lidar com exceções em Python.