Index de l'article

Scripts à tester

Sur cette page quelques scripts vous sont présentés. Ne passez pas trop vite car ils (les scripts) sont une partie de la solution de l'exercice. Donc suivez ce conseil:

  • Testez le script
  • Comprenez le
  • Et pourquoi pas commentez le avant de l'enregistrer...

Thème: Division euclidienne, reste, quotient

https://fr.wikibooks.org/wiki/Programmation_Python/Op%C3%A9rateurs

Script

nbre=19
print (nbre/2)
print (nbre%2)
print (nbre//2)

Shell>>>

>>> %Run test.py
9.5
1
9

Thème: Boucle Tant que 

https://fr.wikibooks.org/wiki/Programmation_Python/Instructions_r%C3%A9p%C3%A9titives

Script

i=0
nbre=10
while i<=nbre:
    print(i)
    i=i+1

Shell>>>

>>> %Run test.py
0
1
2
3
4
5
6
7
8
9
10

Thème: Gestion d'une liste

https://fr.wikibooks.org/wiki/Programmation_Python/Listes

Script

liste1=[]
print(liste1)
i=0
while i<10:
    liste1.append(i*2)
    i+=1
print(liste1)
liste2=[1,2*5,'dernier terme']
j=0
while j<=2:
    print("le ",j," terme de la liste2 est ",liste2[j])
    j=j+1

Shell>>>

>>> %Run test.py
[]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
le  0  terme de la liste2 est  1
le  1  terme de la liste2 est  10
le  2  terme de la liste2 est  dernier terme

Thème: Exécution conditionnelle

https://fr.wikibooks.org/wiki/Programmation_Python/Structures_de_contr%C3%B4le

Script

# test diviseur
nbre=9
dividende=nbre
diviseur=2
division=nbre/2
reste=nbre%2
quotient=nbre//2
print ("division =",nbre/2)
print ("reste =",nbre%2)
print ("quotient =",nbre//2)
print ("La division de ",nbre," par ",diviseur," donne ", nbre,"= ",quotient,"x",diviseur," + ",reste)
if reste==0:
    print("Comme le reste est nul, alors on dit que ",diviseur," est un diviseur de ",nbre)
else:
    print("Comme le reste n'est pas nul, alors on dit que ",diviseur," n'est pas un diviseur de ",nbre)
    print("On remarque aussi que le résultat de la division est un nombre décimal :",division)

Shell>>

Tester aussi avec nbre = 8

>>> %Run test.py
division = 4.5
reste = 1
quotient = 4
La division de  9  par  2  donne  9 =  4 x 2  +  1
Comme le reste n'est pas nul, alors on dit que  2  n'est pas un diviseur de  9
On remarque aussi que le résultat de la division est un nombre décimal : 4.5

Conclusion

En utilisant une liste, une boucle et une condition, écrivez un script imprimant les diviseurs de n'importe quel nombre. 

Pour vous aidez:

# ceci est un commentaire
# première etape, saisir un nombre, ici je teste pour 60
nbre=60
print("je cherche les diviseurs de ",nbre)
# création d'une liste qui contiendra tous les diviseurs de ce nombre
# je mets 1 dans cette liste
# mon compteur sera i et i commencera par 2
diviseur=[1]
i=2
# L'idée va être de diviser le nbre par i et de voir si cette division n'a pas de reste
# cette idée est à imbriquer dans une boucle
# ----si le reste est nul, alors ajouter la valeur de i dans la liste des diviseurs
# ----si le reste n'est pas nul alors incrémenter i de 1
while i<=nbre:
    if nbre%i==0:
       
        diviseur.append(i)
        print(i,"est un diviseur de",nbre)#impression pour comprendre le fonctionnement de la boucle
        i=i+1
    else:
        i=i+1
        print(i)#impression pour comprendre le fonctionnement de la boulce

print("Les diviseurs sont ",diviseur)  

Shell>>>

>>> %Run txt.py
je cherche les diviseurs de  60
2 est un diviseur de 60
3 est un diviseur de 60
4 est un diviseur de 60
5 est un diviseur de 60
6 est un diviseur de 60
8
9
10
10 est un diviseur de 60
12
12 est un diviseur de 60
...
...
...
59
60
60 est un diviseur de 60
Les diviseurs sont  [1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60]