Solution Exercice 20: Nombre premiers de Sophie German illustrés sur une fenêtre PyQt5 en Python

Exercice 20

On se propose dans ce TP d'illustrer graphiquement sur une fenêtre PyQt5 Python la notion de nombre premier de Sophie German. Pour cela, on vous propose d'utiliser  l'outil visuel graphique Qt Designer pour créer l'interface graphique suivante qui demande à l'utilisateur de saisir un entier n et de lui afficher en cliquant sur le bouton de commande 'Validate', la liste des nombres premiers de Sophie German qui sont inférieur ou égaux à n comme le montre la figure ci-dessous:

algorithme python qui détermine la liste des nombres premiers de sophie german sur Pyqt5

Rappel : Un nombre n est appelé un nombre de Sophie German si n et 2n+1 sont tous les deux premiers.  Exemple n = 5 est de Sophie German car n = 5 et  2n+1=11  sont tous les deux premiers par contre n = 7 n'est pas un nombre de Sophie German car 2n+1 = 15 n'est pas premier.

1) - Créer à l'aide de Qt Designer, l'interface graphique sous le nom library.ui en respectant le nommage suivant:

  1. lineEdite_n : désigne  le nom du champ de saisie
  2. lbl_result : nom du label qui affiche la liste des nombres de Sophie german (liste en rouge)
  3. btn_validate : nom du bouton 'Validate' qui valide l'action
  4. btn_cancel : nom du bouton 'Annuler ' qui annule l'opération

2)  - Générer  à partir du fichier graphique library.ui  un fichier Python library.py à l'aide de la commande cmd:

pyuic5 -x library.ui -o library.py

3) - Créer un script python sous forme de fonction qui prend en entrée un entier n et qui renvoie la liste des nombres premiers de Sophie German qui sont inférieurs ou égaux à n.

4) - Créer un fichier python  main.py dans lequel importer le contenu du fichier library.py et y ajouter le code de bouton de commande 'btn_validate' qui réalise l'action.

Solution

Question 1) et 2)
Code du fichier library.py

Question 3)




Question 4)
Code du fichier main.py

 

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply