Exercice 60
Écrire un programme en Python qui demande à l'utilisateur de saisir dix nombres entiers de son choix et de lui renvoyer un dictionnaire dont les clés sont les entiers saisis et dont les valeurs sont 'premier' ou 'non premier' selon l'entier saisi.
Solution
# coding: utf-8
# création d'une fonction qui teste la primalité d'un nombre entier donné
def testPrim(n):
# initialisation du nombre de diviseurs de n
numberDivisors = 0
# parcourir les entiers 1 2 3 ... n et sélectionner les diviseurs de n
for i in range(1 , n + 1):
if ( n%i == 0 ):
numberDivisors = numberDivisors + 1
if (numberDivisors == 2 ):
return True
else:
return False
# création d'un dictionnaire qui va contenir les valeurs saisies au clavier
d = dict({})
for i in range(0 , 10):
n = int(input("Type an integer : " ))
if (testPrim(n)):
d[n] = "prime"
else:
d[n] = "not prime"
print(d)
# Teste de l'algorithme
# pour les valeurs saisies : 3, 5, 4, 11, 18, 13, 9, 22, 45, 16 la sortie est :
# {3: 'prime', 5: 'prime', 4: 'not prime', 11: 'prime', 18: 'not prime', 13: 'prime', 9: 'not prime', 22: 'not prime', 45: 'not prime', 16: 'not prime'}
Younes Derfoufi
CRMEF OUJDA
Post Views: 4 469
2 thoughts on “Solution Exercice 60 : code python qui génère un dictionnaire à partir d'une suite d'entiers”