Comment trouver un factoriel en Python [avec des exemples de codage]

Publié: 2020-11-30

Table des matières

introduction

Chacun de nous doit être familier avec le mot factoriel car nous avons tous été initiés à cela dans notre école primaire en matière de mathématiques. Factoriel est le produit de tous les entiers positifs à partir de un jusqu'au nombre donné. La factorielle n'est calculée que pour les valeurs positives et ne peut pas être calculée pour les types Négatif et Flottant.

Je me demandais quand j'apprenais des concepts factoriels et d'autres concepts mathématiques où je les utiliserais dans ma vie réelle, grâce à la science des données, car je pouvais maintenant comprendre l'importance de tous les composants mathématiques tels que l'algèbre linéaire, les probabilités, les statistiques.

Voyons l'importance de la Factorielle, différentes manières de la calculer en utilisant python dans cet article.

Importance

Prenons un exemple où nous avons une course entre 10 voitures dans une course mondiale, et nous avons un énoncé de problème pour savoir de combien de façons ces 10 voitures arrivent en premier, deuxième, troisième. Comme il n'y a que 10 voitures, nous aimerions simplement prendre un papier et noter les différentes combinaisons. Mais que se passe-t-il si nous avons 100 voitures ou plus d'événements et que nous avons le même type d'énoncé de problème ou un problème similaire ?

Afin de faire face à ce genre de situations, nous avons quelque chose qui s'appelle Permutation . Je suppose que vous connaissez ce terme en tant que permutations et combinaisons dans notre école primaire. Ceux-ci sont très nécessaires si vous voulez améliorer vos compétences en analyse de données et en statistiques. Si vous êtes débutant et que vous souhaitez en savoir plus sur la science des données, consultez nos cours de science des données dispensés par les meilleures universités. Cela aide à résoudre l'énoncé du problème comme indiqué ci-dessous.

Solution

Nous avons un total de 10 voitures.

Nous devons trouver la possibilité de 3 gagnants sur 10.

dix! / (10-3) ! = 10 ! / 7! = 720

Nous avons donc un total de 720 possibilités pour que ces 10 voitures arrivent première, deuxième, troisième dans l'épreuve de course.

Implémentation Python

Python est un langage de programmation de haut niveau, interprété et à usage général qui se concentre sur la lisibilité du code et la syntaxe utilisée dans Python Language aide les programmeurs à terminer le codage en moins d'étapes par rapport à Java ou C++ et il est construit sur C.

Le langage a été fondé en 1991 par le développeur Guido Van Rossum . Python est largement utilisé dans les grandes organisations, principalement dans divers cas d'utilisation de l'intelligence artificielle tels que la vision par ordinateur, le traitement du langage naturel, l'apprentissage en profondeur, la reconnaissance vocale, la reconnaissance faciale, la reconnaissance vocale.

Python est un outil de programmation très puissant et peut être utilisé pour une grande variété de cas d'utilisation dans la vie réelle. Il offre une fonction directe qui peut calculer la factorielle d'un nombre donné sans écrire le code explicitement. Mais commençons par une approche naïve et apprenons enfin à connaître cette fonction.

Lisez aussi : Pourquoi Python est-il si populaire auprès des développeurs ?

Pour la boucle

Nous pouvons calculer la factorielle d'un nombre en itérant du nombre 1 jusqu'au nombre donné en multipliant à chaque étape. Passons à la partie codage de l'approche décrite ci-dessus.

Code

nombre = entrée ("Entrez un numéro :") # Idéalement, vous pouvez utiliser n'importe quel message imprimé

factoriel = 1

if int (number) >=1: # Pour vérifier si le nombre donné est positif ou non.

for i in range (1, int(number)+1): # Boucle à partir du numéro 1

factoriel = factoriel * I # Multiplication avec chaque nombre.

print (“Factorial of “, number, ” is: “, factorial) # Imprime le factoriel calculé.

Sortir

L'exécution du code ci-dessus vous donnera la sortie ci-dessous :

Entrez un nombre :5

La factorielle de 5 est : 120

Fonction récursive

Dans ce cas, nous allons créer notre propre fonction définie par l'utilisateur en python qui nous aidera à calculer la factorielle d'un nombre donné.

Code

nombre = entrée (« Entrez un nombre : »)

def recursive_factorial(number): # Fonction récursive définie par l'utilisateur.

if number == 1: # Condition si le nombre donné est égal à 1

numéro de retour

elif nombre < 1 : # Condition si le nombre donné est inférieur à 1

return (« Le nombre donné est inférieur à un et la factorielle ne peut pas être calculée. »)

autre:

nombre de retour*recursive_factorial(nombre - 1)

print (recursive_factorial(int(number)))

Sortir

L'exécution du code ci-dessus vous donnera la sortie ci-dessous :

Entrez un nombre : 5

120

Entrez un nombre : -2

Le nombre donné est inférieur à un et la factorielle ne peut pas être calculée

Entrez un nombre : 1

1

Fonction factorielle dans le package mathématique

Python est largement connu pour sa facilité d'utilisation et ses packages tiers conviviaux qui simplifieront de nombreuses tâches. Dans le scénario actuel, Python est le langage de prédilection des Data Scientists.

Code

import math # Package requis

number= input("Entrez un nombre : ")

print("Le factoriel de ", nombre, " est : ")

print(math.factorial(int(number))) # Fonction pour calculer la factorielle

Sortir

L'exécution du code ci-dessus vous donnera la sortie ci-dessous :

Entrez un nombre : 5

La factorielle de 5 est :

120

Entrez un nombre : 5,6

Traceback (dernier appel le plus récent) :

Le factoriel de 5.6 est :

Fichier "C:/Users….py", ligne 5, dans

print(math.factorial(int(nombre)))

ValueError : littéral invalide pour int() avec base 10 : '5.6'

Nous obtenons une erreur de valeur car nous ne pouvons pas calculer la factorielle de l'entier flottant. Lorsque nous écrivons explicitement le code python, nous devons prendre soin de vérifier toutes les conditions et de générer le message pertinent, mais dans la fonction factorielle du package Math en python, il fait tout pour nous, ce qui nous aide à réduire notre code de lignes lorsque nous avons l'utilisation de Factorial dans notre projet ou tout énoncé de problème.

Doit lire: Tutoriel Python

Conclusion

Dans cet article, nous avons appris l'importance et l'application de Factorial et d'autres concepts mathématiques importants dans la vie réelle. Passé en revue les différents types de code pour calculer la factorielle d'un nombre donné. Cet article ne couvre que le factoriel en Python, mais de nombreux autres calculs mathématiques sont disponibles dans le package MATH. Les nouveaux utilisateurs de Python peuvent les approfondir et même en essayer quelques-uns.

Si vous êtes curieux d'en savoir plus sur la science des données, consultez le programme Executive PG en science des données de IIIT-B & upGrad qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1 -on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

Qu'est-ce que la récursivité en Python ?

La récursivité en Python signifie parcourir les données en boucle pour atteindre un résultat défini. Il s'agit d'un processus mathématique et de programmation bien connu dans lequel quelque chose (une déclaration ou une fonction) est défini en fonction de lui-même. Avec l'aide de la récursivité, les utilisateurs ou les développeurs peuvent diviser des codes et des fonctions complexes en sous-parties plus petites, et la création d'une séquence devient beaucoup plus accessible. Un développeur doit faire très attention lors de l'utilisation de la récursivité, car l'écriture d'une fonction qui ne se termine jamais ou qui consomme des quantités excessives de mémoire ou de puissance CPU est assez fréquente. Lorsqu'elle est effectuée correctement, la récursivité peut être une méthode de programmation extrêmement efficace et mathématiquement innovante.

Combien de temps faut-il pour apprendre les bases de Python ?

Python est considéré comme le langage de programmation le plus simple, donc apprendre les bases de Python est facile et ne prend pas beaucoup de temps. Les étudiants ou les professionnels peuvent consacrer 1 à 2 mois pour apprendre les bases de Python. Un professionnel peut également maîtriser toutes les fonctions et bibliothèques Python essentielles en 4 à 5 mois en y consacrant environ 2 à 3 heures par jour. Comprendre Python est facile car la plupart des codes ont moins d'instructions et il y a plus de fonctions prédéfinies.

Quelle est la complexité temporelle du programme factoriel en Python ?

Nous avons découvert à partir du programme factoriel que factoriel(0) est simplement une comparaison (1 unité de temps) et factoriel(n) est une comparaison, une multiplication, une soustraction et un temps pour factoriel (n-1). Nous pouvons donc dire que T(n) = T(n - 1) + 3 et T(0) = 1. En mettant des valeurs, nous constatons que T(N) est directement proportionnel à n, comme on le voit dans la notation Big-Oh. Par conséquent, la complexité temporelle du programme factoriel est O(n).