Après avoir terminé ce tutoriel, vous saurez:
Quels sont les nombres premiers?
Dans Python, les nombres premiers sont un nombre de types int qui sont supérieurs à 1 et n'ont pas d'autres facteurs mais eux-mêmes et 1. Un nombre privilégié est un comme 5, tandis qu'un nombre non prison est de quatre (puisque 2 x 2 est égal à 4). Les nombres 2, 11, 23 et 43 sont parmi les quelques nombres premiers.
Comment les nombres premiers peuvent être générés dans Python?
Une série de nombres premiers peut ressembler à 2, 3, 5, 7, 9, 11, 13, etc. La logique peut être implémentée dans Python pour recréer cette séquence de nombres premiers et déterminer si un numéro donné est premier ou non. L'utilisation de bibliothèques Python, de boucles, de conditions et de la fonction lambda est quelques techniques pour effectuer cette tâche.
Il existe diverses approches pour implémenter des nombres premiers dans Python; Nous en avons expliqué quelques-uns dans les exemples ci-dessous.
Exemple # 1: Génération de séquence de nombres premiers à l'aide de la fonction lambda
Les nombres premiers peuvent être générés en utilisant la fonction lambda comme on peut le voir dans l'exemple ci-dessous.
Code:
def prime_seq (num):Sortir:
Nous entrons la valeur clé 30 afin que la fonction ait imprimé tous les nombres premiers de 2 à 30. L'utilisation d'une fonction lambda qui est une fonction orpheline ou une fonction anonyme est utilisée dans le programme ci-dessus pour déterminer la plage de nombres premiers. Nous avons conçu le programme de telle manière que lorsque nous exécutons le script, le programme demandera à l'utilisateur de saisir une valeur clé. Ensuite, le programme générera la séquence ou la série de nombres premiers à partir de 2 à la valeur de clé spécifiée.
Le flux du programme:
L'utilisateur entre dans la plage d'entrée et la méthode d'entrée Python est utilisée pour prendre cette entrée. L'entrée est explicitement transformée en type de données numérique int. Dans le processus d'invoquer la fonction, le casting int est fourni comme argument. La fonction lambda est invoquée par la fonction définie. En conséquence, la fonction lambda est invoquée pour chaque nombre ou valeur entière de 2 à une valeur de clé spécifiée et un chèque de choix est effectué. Pour faire ce chèque de choix, le numéro de logique% 2! = 0 est utilisé.
Exemple n ° 2: générer des nombres premiers en utilisant pour Loop
Nous avons vu comment obtenir une séquence de nombres premiers en utilisant la fonction lambda. Maintenant, nous utiliserons la boucle pour et une condition pour générer une séquence de nombres premiers.
Code:
num = int (entrée ("Entrée la plage:"))Sortir:
Notre programme a obtenu une série de nombres premiers de 2 à 13 avec succès alors que nous entrions la valeur 15. Ce programme utilise des boucles et des conditions pour obtenir une série de nombres premiers. Il s'exécute de telle manière qu'après que l'utilisateur entre un entier spécifique, tous les nombres premiers entre la plage commençant de 2 au numéro d'entrée spécifié, seront générés et imprimés.
Le flux du programme:
L'utilisateur entre dans la plage d'entrée et la fonction d'entrée () prend cette entrée. L'entrée spécifiée est ensuite explicitement transformée en type int. Dans cet exemple, deux entiers sont déterminés par boucle imbriquée; La première boucle s'assure d'obtenir tous les nombres ou entiers se trouvant dans la plage à clé. La vérification du nombre premier est déterminée par la deuxième boucle pour. L'entier manipulé s'affiche / imprimé sur la console si le résultat du processus pour chaque valeur entière libellé n'est pas 0. Chaque nombre dans la plage spécifiée de deux à la valeur d'entrée est soumis à une boucle qui répète ce processus.
Exemple n ° 3: générer des nombres premiers en utilisant les boucles While
Maintenant, nous allons utiliser des boucles pour obtenir des nombres premiers dans une plage spécifiée.
Code:
plage = int (entrée ('entrez la plage:'))Sortir:
Nous avons spécifié la valeur d'entrée de 45 et le programme a extrait tous les nombres premiers jusqu'au nombre «45». Dans le code ci-dessus, les boucles et les conditions WHAL sont utilisées pour déterminer la plage de nombres premiers. Une fois que l'utilisateur entre dans un entier, tous les nombres premiers se situant entre la plage de 2 et l'entrée spécifiée sont générées et affichées.
Le flux du programme:
L'utilisateur entre dans la plage d'entrée et la méthode d'entrée Python est utilisée pour prendre cette entrée. L'entrée a ensuite été jetée dans DataType int. Ici, le chèque de premier ordre est effectué en utilisant une boucle de temps. Le contrôle de la boucle est basé sur une vérification conditionnelle et le processus de cycle se poursuivra jusqu'à ce que la valeur saisie dépasse la variable de contrôle de la boucle. La variable pour le contrôle de la boucle est initialisée avec 1 et augmente de 1 après chaque boucle. Encore une fois, si le résultat du processus pour chaque valeur entière libellée n'est pas nul, le manage entier sera imprimé. Pour chaque valeur entière de 1 à la valeur de clé spécifiée, ce processus sera répété et exécuté.
Exemple n ° 4: Génération de nombres premiers à l'aide de la bibliothèque Sympy en Python
En utilisant la sympathie.Fonction Primerange () Dans la bibliothèque Sympy, nous pouvons obtenir une liste contenant des nombres premiers dans une plage spécifiée en utilisant cette fonction.
Code:
Importer SympySortir:
Ce programme a utilisé une bibliothèque prédéfinie pour trouver la gamme de nombres premiers. Dans cet exemple, le module Sympy est utilisé pour effectuer le contrôle principal et la fonction a généré une liste avec des nombres premiers qui se trouvent dans les limites inférieures et supérieures, spécifiées par nous.
Le flux du programme:
L'utilisateur entre dans la plage inférieure et supérieure. L'entrée de l'utilisateur est ensuite traitée par la fonction d'entrée Python. L'entrée obtenue est jetée dans un type int. La méthode Primerange () du module Sympy prend les valeurs de plage inférieure et supérieure comme entrée. La sortie de la fonction est imprimée après avoir été coulée dans une variable de liste.
Vérification des nombres premiers
Nous avons vu différentes approches pour générer des nombres premiers. Maintenant, vous devriez également être en mesure de vérifier si un nombre est premier ou non. Pour cela, vous pouvez vérifier le programme ci-dessous. L'approche la plus simple et la plus élémentaire consiste à itérer dans la gamme d'entiers positifs de deux au nombre d'entrée et à vérifier si la plage et le modulo du nombre sont égaux à zéro. Si cela se produit, le nombre n'est pas un nombre premier car il a un diviseur autre que «un» et le nombre lui-même.
Code:
Def CheckPrime (n):Pour le numéro 13, la fonction a renvoyé True et False pour le numéro 12. Nous avons défini la fonction «Checkprime», qui n'accepte qu'un seul entier comme un argument car les nombres premiers doivent être supérieurs à 1, si le nombre d'entrée n'est pas supérieur à un, la fonction renvoie faux. Puis il itère sur la plage de deux au nombre spécifié. La fonction renvoie false si le modulo (%) du nombre entré «num» et que l'itération «i» est égal à zéro. Sinon, la méthode renvoie true.
Conclusion
Dans ce tutoriel, nous avons d'abord vu l'introduction aux nombres premiers, puis nous avons discuté de la façon dont nous pouvons générer des nombres aléatoires dans Python. Nous avons utilisé différentes approches pour générer une série / plage de nombres premiers. Tout d'abord, nous avons utilisé la fonction lambda, deuxièmement, nous avons utilisé pour les boucles et les conditions, puis nous avons utilisé la boucle while, et enfin, nous avons utilisé la méthode Primerange () du module Sympy pour générer des nombres aléatoires dans une plage spécifiée. Nous avons également implémenté un exemple pour vérifier si un nombre est premier ou non.