Calcul de factoriel récursif en Python

Beginner

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

Introduction

En mathématiques, le factoriel d'un entier non négatif n, noté n!, est le produit de tous les entiers positifs inférieurs ou égaux à n. Par exemple, 5! = 5 x 4 x 3 x 2 x 1 = 120. Dans ce défi, vous écrirez une fonction Python pour calculer le factoriel d'un nombre donné en utilisant la récursion.

Factoriel

Écrivez une fonction factorial(num) qui prend un entier non négatif num en argument et renvoie son factoriel. La fonction doit utiliser la récursion pour calculer le factoriel. Si num est inférieur ou égal à 1, renvoyez 1. Sinon, renvoyez le produit de num et du factoriel de num - 1. La fonction doit lever une exception si num est un nombre négatif ou un nombre à virgule flottante.

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

Sommaire

Dans ce défi, vous avez appris à calculer le factoriel d'un nombre en utilisant la récursion. Vous avez également appris à gérer les exceptions en Python.