Exercices sur les bases python
TD : Exercices sur les bases python. Recherche parmi 300 000+ dissertationsPar Clara-Lou • 8 Novembre 2022 • TD • 372 Mots (2 Pages) • 266 Vues
TADC AMOO – TD1
21.10.2022
Exercice 1
# Exo 1 : Affichage diviseurs d'un nombre entier
"""
Affiche les diviseurs d'un nombre entier saisi au clavier (utiliser type str)
1.Afficher les diviseurs au fur et à mesure
2.Ajouter diviseur dans chaine caractère str
"""
nombre = int(input("Saisir un nombre entier : "))
chaine_diviseur = "1" #on initialise chaine par 1 : tous nbes divisbles par 1
for i in range(2, nombre +1):
if nombre % i == 0 :
chaine_diviseur = chaine_diviseur + ";" + str(i)
print("la liste des diviseurs de", nombre,"est",chaine_diviseur)
Exercice 2
# Exo 2 : Afficher nbe premiers inférieurs borne
"""
Faire saisir un nombre entier à l’utilisateur et afficher les nombres premiers
inférieurs ou égaux à cette valeur
Rq: 1 est exclu nb premier
"""
borne_max = int(input("La borne max de recherche est : ")) #utilisateur saisie borne max
for nombre in range(2, borne_max +1): #on teste si le nbe <borne max est premier
trouve = False #au début on a pas encore trouver diviseur
diviseur = 2 #pour chaque nbe de notre intervalle, le premier diviseur potentiel
while not trouve and (diviseur < nombre): #on cherche si le nbe est divisible par un autre diviseur, si oui alors il n'est pas premier
if nombre % diviseur == 0 : #si nbe dvisble par autre nbe que lui même = pas 1er
trouve = True #on a trouvé un diviseur : nombre n'est pas 1er, dans ce cas trouve devient True et on sort du while
else:
diviseur += 1 #qd diviseur atteint la valeur du nbe
# : la condition du while plus vérifiée, on sort de la boucle while
# alors ça veut dire que nombre n'a que lui-même comme diviseur alors il est 1er
if not trouve : #on a pas trouvé d'autre diviseur que lui meme = nb 1er
print(nombre,"est premier")
Exercice 3
# Exo 3 : Afficher nbe parfait à une borne
"""
Le programme doit faire saisir un nombre entier à l’utilisateur et afficher les nombres parfaits
inférieurs ou égaux à cette valeur.
Un nombre est parfait s'il vaut la somme de ses diviseurs, lui-même exclu.
"""
borne = int(input("Saisissez un nombre entier qui sera la borne :"))
for nombre in range(2,borne_max+1):
somme_diviseurs = 1
chaine_diviseurs = "1"
for diviseur in range (2,nombre):
if nombre % diviseur == 0:
somme_diviseurs =somme_diviseurs + diviseur
chaine_diviseurs = chaine_diviseurs +"+"+str(diviseur)
if (nombre == somme_diviseurs):
print (nombre, "est parfait", nombre, "=", chaine_diviseurs)
...