Exercice 61
Écrire un programme en Python qui demande à l'utilisateur de saisir cinq nombres entiers de son choix et de lui renvoyer un dictionnaire dont les clés sont les entiers saisis et dont les valeurs sont les listes des diviseurs des nombres saisis.
Exemple si l'utilisateur saisi les nombres : 14 , 7 , 8 , 6 , 13 le programme renvoie le dictionnaire:
1 |
d = {14 : [1, 2, 7, 14] , 7: [1,7] , 8: [1, 2, 4, 8] , 6: [1,3,6] , 13: [1,13] } |
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# coding: utf-8 # fonction qui détermine la liste des diviseurs d'un entier def listDiv(n): # initialisation de la liste des diviseur de n l = [] # parcourt des entiers 1 , 2 , 3 ,..., n for i in range(1, n+1): # si i est un diviseur de n on l'ajoute à la liste if n%i == 0: l.append(i) return l # récupération des nombres tapés dans une liste python typed_number = [] for i in range(0, 5): n = int(input("Tapez un nombre entier")) typed_number.append(n) # création du dictionnaire d = dict({}) for n in typed_number: d[n] = listDiv(n) print(d) |
Younes Derfoufi
CRMEF OUJDA
Acheter sur Très Facile !
-
Promo !
Apprendre Python un guide complet et progressif
Le prix initial était : € 11,00.€ 10,00Le prix actuel est : € 10,00. Ajouter au panier -
Cahier d'algorithmique et de programmation Python: Manuel élève 1ère Tle techno
€ 9,00 Acheter le livre -
Apprendre Raspberry Pi 4 - sur votre nano-ordinateur avec un projet de station
€ 29,00 Acheter le livre
Bonjour,
Je l’ai fait légèrement différent du votre mais il fonctionne quand même, quand pensez vous ?
x = 0
dico = {}
while x < 5:
try:
nombre = int(input("entrez un nombre entier : "))
liste = []
for i in range(1, nombre+1):
if nombre%i == 0:
liste.append(i)
dico[nombre] = liste
x += 1
except:
print("La valeur entrée n'est pas un nombre entier !")
print(dico)
Cordialement.