Introduction à Factorial en Python
Pour un entier positif, Python en factoriel signifie un produit de tous les entiers qui sont listés inférieurs et égaux à l'entier spécifié. La valeur factorielle d'un nombre explicite est généralement représentée par n !. la formule derrière le produit de ces entiers peut être représentée en utilisant la formule ci-dessous,
n! = n * (n-1) * (n-2) * (n-3) * (n-4) * (n-5) * (n-6) * (n-7) *. . . . . . .* 1
Ex: 20! = 20 * 19 * 18 * 17 * 16 * 15 * 14 * 13 * 12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 2432902008176640000
n | n ! |
0 | 1 |
1 | 1 |
2 | 2 |
3 | 6 |
4 | 24 |
5 | 120 |
6 | 720 |
sept | 5 040 |
8 | 40 320 |
9 | 362 880 |
dix | 3 628 800 |
11 | 39 916 800 |
12 | 479 001 600 |
13 | 6 227 020 800 |
14 | 87 178 291 200 |
15 | 1, 30767E + 12 |
16 | 2.09228E + 13 |
17 | 3, 55687E + 14 |
18 | 6.40237E + 15 |
19 | 1.21645E + 17 |
20 | 2, 4329E + 18 |
Techniques factorielles en Python
Technique # 1 - Programme factoriel
Code:
# Python program to determine the value of factorial for a given number
# modifying the value keyed in will produce a different result
Number = int(input(" Enter the number for which factorial value to be determined : "))
factorial = 1
# to verify that the given number is greater than zero incase it is less than zero then the
# message stated below will be printed
if Number < 0:
print(" ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! ! ")
# The default factorial value for zero is one and this is printed here
elif Number == 0:
print(" ! ! ! ! 1 is the factorial value 0 ! ! ! ! ")
else:
# For loop to handle the factorial calculation
for i in range(1, Number + 1):
factorial = factorial*i
print("The factorial value for the ", Number, "is", factorial)
Production:
Explication: Le programme calcule la factorielle d'un nombre en utilisant une technique de bouclage, ici la valeur entière spécifique pour laquelle la valeur factorielle doit être calculée est entrée dans la variable 'Number'. Parallèlement à la variable «Factorielle» est initialisée avec la valeur 1. La première vérification effectuée consiste à déterminer si la valeur clé est un entier positif. cela est dû au fait que la valeur factorielle d'un entier négatif ne peut pas être calculée. la vérification est donc implicite de telle sorte que la valeur entrée est supérieure à zéro. également si la valeur entrée est égale à zéro, la valeur factorielle pour zéro qui est un est imprimée. Dans le cas suivant, la factorielle pour une valeur donnée est déterminée par l'exécution de la formule ci-dessous en boucle avec la valeur de l'itérateur incrémentée d'une unité.
factorial = factorial*i
La plage de cette boucle est maintenue entre 1 et une valeur supérieure au nombre saisi. A la fin de la dernière exécution, la valeur du factoriel est imprimée.
Technique # 2 - Programme factoriel
Code:
# Python program to determine the value of factorial for a given Number
# modifying the value keyed in will produce a different result
# Function through which factorial is achieved
def factorial(Number):
"""Factorial of a number is calculated through the below mentioned recursive function"""
if Number == 1:
return Number
else:
return Number * factorial(Number - 1)
# Number for which the factorial has to be determined
Number = int(input(" Enter the Number for which factorial value to be determined : "))
# to verify that the given Number is greater than zero in case it is less than zero then the
# message stated below will be printed
# An error message will be returned if the keyed in input is negative.
# elif an error message will be returned if the keyed in input is zero.
# else user defined function is used for calculating the factorial
if Number < 0:
print( " ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! !" )
elif Number == 0:
print( " ! ! ! ! 1 is the factorial value 0 ! ! ! ! " )
else:
print("Factorial value for the ", Number, " is: ", factorial(Number))
Production:
Explication: Le programme calcule la factorielle d'un nombre en utilisant une technique d'appel de fonction récursive, ici la valeur pour laquelle la factorielle doit être déterminée est entrée dans la variable 'Number'. La valeur 1 est initialisée à la variable factorielle. Le premier contrôle effectué consiste à déterminer si la valeur saisie est un entier positif. cela est dû au fait que la valeur factorielle d'un entier négatif ne peut pas être calculée. la vérification est donc implicite de telle sorte que la valeur entrée est supérieure à zéro. également si la valeur entrée est égale à zéro, la valeur factorielle pour zéro qui est un est imprimée. Dans le cas suivant, la factorielle pour une valeur donnée est déterminée par la formule ci-dessous exécutée récursivement,
Number * factorial(Number - 1)
exécution récursive par processus signifie une technique par laquelle le bouclage d'une instance de codage donnée est réalisé manuellement. cette technique implique d'appeler une fonction donnée dans la même fonction et cet appel est encapsulé dans une condition if donnée. Cette encapsulation permet donc d'appeler la fonction jusqu'à ce que la condition donnée soit satisfaite.
Conclusion
Ces programmes sont destinés à vérifier si le palindrome donné d'une valeur entière donnée. En utilisant les programmes ci-dessus, toute valeur numérique donnée peut être évaluée avec succès pour sa valeur factorielle. les programmes sont impliqués en utilisant deux techniques très différentes telles que l'appel de fonction récursive et le processus de bouclage habituel. d'un point de vue standard, ces deux techniques ne diffèrent pas beaucoup et ce sont des méthodes de programmation très acceptées.
Article recommandé
Cela a été un guide pour Factorial en Python. Ici, nous discutons Introduction à factorielle en Python et différentes techniques du programme factoriel avec l'exemple. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
- Patterns en Python
- Avantages de Python
- Cadres Python
- Compilateurs Python
- Guide de Factorial en PHP
- Factorial à Java (avec méthodes)
- Itérateur en Python | Avantages de Python