Python

Écrire le programme factoriel en Python

Écrire le programme factoriel en Python
La factorielle d'un nombre est le nombre que vous obtenez après avoir multiplié tous les nombres de 1 à ce nombre. La factorielle d'un nombre est notée par le '!' symbole. Par exemple, si l'on veut connaître la factorielle de 4, notée 4!, alors le résultat serait 1x2x3x4 = 24. Il y a plusieurs façons de trouver la factorielle d'un nombre. La factorielle peut être déterminée en Python à l'aide de la fonction intégrée pour les fonctions de boucle et récursives. Ce tutoriel montre comment la factorielle d'un nombre peut être déterminée à l'aide de diverses fonctions de Python.

Exemple 1 : Trouver la factorielle d'un nombre à l'aide de la fonction intégrée

Python a une fonction intégrée nommée factoriel() sous le math module. Le script suivant calcule la factorielle de n'importe quel nombre à l'aide d'un factoriel() une fonction. Dans ce script, tout nombre entier valide sera pris comme entrée, et la fonction calculera la valeur factorielle de ce nombre et imprimera la valeur factorielle du nombre d'entrée.

#!/usr/bin/env python3
# Importer un module mathématique
importer des mathématiques
# Prenez n'importe quelle valeur numérique
n = int(input("Entrez n'importe quel nombre : "))
# Découvrez la factorielle
fait = maths.factoriel(n)
# Imprimer le résultat de la factorielle
print("La factorielle de %d est %d" %(n,fact))

Production

Après avoir exécuté le script, 3 est donné comme numéro d'entrée et la sortie de 3!, 6, est imprimé.

Exemple 2 : Trouver la factorielle d'un nombre à l'aide de la boucle

Le script suivant montre comment vous pouvez calculer la factorielle de n'importe quel nombre sans utiliser de fonction intégrée dans Python. Ici le pour La boucle est utilisée pour calculer la factorielle d'un nombre. Toute valeur entière d'entrée sera prise et stockée en tant que variable nommée m. Une variable nommée fait est utilisé pour stocker le résultat factoriel et est initialisé à 1 avant d'entrer dans la boucle. Si la valeur de m est supérieur à un ou égal à un, alors la boucle itérera de 1 à n+1 fois et calculera la valeur factorielle. Sinon, la boucle vérifiera si la valeur de n est égale à 0 ou négative. Si la valeur de n est 0, alors le résultat factoriel sera 1 ; et si la valeur de n est un entier négatif, alors un message d'erreur sera affiché.

#!/usr/bin/env python3
 
# Prendre une valeur numérique et la stocker dans n
n = int(input("Entrez n'importe quel nombre : "))
# Initialiser la variable
fait = 1
# Découvrez la factorielle si le nombre d'entrée est supérieur à 0
si n >= 1 :
# Itérer la boucle pour multiplier les nombres entre 1 et n
pour i dans la plage (1,n+1) :
fait = fait * je
# Imprimer le résultat fctorial
print("La factorielle de %d est %d." %(n,fait))
autre:
si n == 0 :
# Affiche le résultat de 0!
print("La factorielle de ", n , " est ")
autre:
# Imprimer le message d'erreur
print("Vous devez entrer n'importe quel nombre positif")

Production

Le script est exécuté trois fois, selon la capture d'écran suivante. Le script est exécuté pour les valeurs d'entrée 1, 6 et -8. Les sorties sont affichées en fonction des valeurs d'entrée.

Exemple 3 : Trouver la factorielle d'un nombre à l'aide de la fonction récursive

La fonction qui s'appelle pendant l'exécution de la fonction est appelée la fonction récursive. Le script suivant montre comment calculer la factorielle de n'importe quel nombre entier à l'aide d'une fonction récursive. Après avoir pris le nombre entier comme entrée, la fonction récursive factorielle_resursive() sera appelé, avec la valeur d'entrée comme argument. Si la valeur d'entrée est 0 ou 1, alors 1 sera renvoyé. Si la valeur d'entrée est négative, la valeur de l'argument sera renvoyée. Si la valeur d'entrée est supérieure à 1, la fonction s'appellera elle-même en soustrayant l'argument de 1 encore et encore jusqu'à ce qu'elle calcule le résultat de la factorielle.

#!/usr/bin/env python3
# Prendre une valeur numérique
nombre = int(input("Entrez n'importe quel nombre : "))
# Définir la fonction récursive pour calculer la factorielle
def factorial_recursive(n) :
# Stocke le résultat factoriel de 0 et 1
si n == 0 ou n == 1 :
résultat = 1
# Stocke le numéro d'entrée pour la valeur négative
elif m < 1:
résultat = n
# Trouver le résultat factoriel de manière récursive
autre:
résultat = n*factorielle_récursive(n-1)
# Renvoie le résultat
résultat de retour
# Appeler la fonction
fact = factorial_recursive(nombre)
# Imprime le résultat pour un nombre positif
si fait >= 0 :
print("La factorielle de %d est %d." %(nombre,fait))
autre:
# Imprimer le message pour nombre négatif
print("Vous devez entrer n'importe quel nombre positif")

Production

Dans la capture d'écran suivante, le script est exécuté trois fois avec les valeurs 1, -5 et 8.

Exemple 4 : Trouver la factorielle d'un nombre avec gestion des exceptions

Les trois scripts ci-dessus vérifient uniquement si le nombre est positif ou négatif. Le script suivant calcule la factorielle via une fonction factorielle () intégrée avec gestion des exceptions. Si l'utilisateur donne une entrée sans valeur entière, une exception sera générée et un message d'erreur sera imprimé.

#!/usr/bin/env python3
# Importer un module mathématique
importer des mathématiques
# Défiez le bloc try
essayer:
# Prendre une valeur numérique
n = int(input("Entrez n'importe quel nombre : "))
si n >= 0 :
# Découvrez la factorielle
fait = maths.factoriel(n)
# Imprimer le résultat de la factorielle
print("La factorielle de %d est %d" %(n,fact))
autre:
# Lever l'exception si le nombre est négatif
raise Exception("Vous devez entrer n'importe quel nombre positif")
# affiche le message d'erreur pour la saisie fractionnaire
sauf ValueError :
print("Vous devez entrer un nombre entier")
# Imprimer le message d'erreur pour l'entrée négative
sauf exception comme e :
print('Erreur :%s' %e)

Production

Le script est exécuté trois fois avec les valeurs h, -3 et 7 dans la capture d'écran suivante. Ici, l'exception est générée pour la valeur, 'h.'

Conclusion

Ce tutoriel montre quelques-unes des différentes manières de calculer la valeur factorielle d'un nombre en Python. Le concept de la factorielle d'un nombre et les méthodes basées sur Python pour calculer la factorielle devraient être clairs pour le lecteur après avoir lu ce tutoriel.

Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...
Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...
Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...