Solution Exercice 58: obtenir les diviseurs d'un entier graphiquement en Python Tkinter

Exercice 58

  1. Écrire un programme en Python qui permet de lister les diviseurs d’un entier N donné.
  2. Créer un programme en Python qui propose à l’utilisateur une fenêtre Tkinter lui demandant de saisir un entier N et lui renvoie tous les diviseurs de N.

Solution

1. Liste des diviseurs d'un entier



# coding: utf-8
def listeDiviseurs(N):
    # initialisation de la liste des diviseurs à vide L = []
    L = []
    # On parcourt les entiers: 1  2  3 ...  N
    for i in range (1, N+1):
        # on test si l'entier i est un diviseur de N et on l'ajoute à La liste des diviseurs L
        if N%i == 0 :
            L.append(i)
    return L
# On test l'algorithme
print("La liste des diviseurs de 18 est : " ,listeDiviseurs(18))
# Affiche: La liste des diviseurs de 18 est :  [1, 2, 3, 6, 9, 18]

2. La liste des diviseurs d'un entier sous forme d'application graphique

# -*- coding: utf-8 -*-
from tkinter import *
 
# méthode qui réalise l'action           
def action():
    
    # récuperation de la valeur du champ de saisie
    N = int(entryNombre1.get())
    lblDiviseurs['text'] = 'Diviseurs de N   : '
    
    # chercher les diviseur s de n en parcourant tous les entiers de 1 à n
    for i in range(1,N+1):
        if(N%i == 0):
            lblDiviseurs['text']=lblDiviseurs['text'] + "   "+ str(i) + "   "

# Création de la fenêtre principale    
fen = Tk()
fen.geometry("400x175")

# champ de saisie de l'entier N avec le label associé
lblnombre1 = Label(fen, text = "Entrer la valeur de N")
lblnombre1.place( x = 10 , y = 20)
entryNombre1 = Entry(fen) 
entryNombre1.place(x =200 , y = 20)

# Label qui récupère le résultat
lblDiviseurs = Label(fen, text = "Les diviseurs de N :")
lblDiviseurs.place( x = 10 , y = 50)

# bouton de validation
Valider = Button(fen , text = "Valider l'opération" , width=20 , command = action)
Valider.place( x =200 , y = 90)

fen.mainloop()

 

Younes Derfoufi
CRMEF OUJDA

2 thoughts on “Solution Exercice 58: obtenir les diviseurs d'un entier graphiquement en Python Tkinter

Leave a Reply

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock