SNT Python 2

Identification

Infoforall

2 - Boucle Pour


Voyons maintenant comment réaliser des actions similaires sans avoir à faire trop de copier-coller.

Comment ?

En utilisant des boucles bien entendu.

Boucle pour avec Scratch
Les boucles bornées avec Scratch

Nous allons voir comment faire comprendre cela à l'interpréteur Python.

IDE Python proposé : Thonny

Documents de cours : pdf ou odt.

1 - Répéter à l'identique

Voyons d'abord comment obtenir exactement le même effet mais sans faire de copier-coller.

Par exemple, voici un script qui affiche 10 fois le même message à l'écran :

1 2 3 4 5 6 7 8 9 10 11 12 13 14
# Déclaration des CONSTANTES TEXTE = "J'aime bien les copier coller !" # Programme principal print(TEXTE) print(TEXTE) print(TEXTE) print(TEXTE) print(TEXTE) print(TEXTE) print(TEXTE) print(TEXTE) print(TEXTE) print(TEXTE)
J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller !

01° Sauvegarder et lancer le PROGRAMME en utilisant la flèche verte dans Thonny.

1 2 3 4 5 6 7
TEXTE = "J'aime bien les copier coller !" print("C'est parti !") for _ in range(10): print(TEXTE) print("Fini !")
>>> %Run prog_boucle.py C'est parti ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! J'aime bien les copier coller ! Fini !

02° Qu'est-ce qui indique à l'interpréteur Python que l'instruction print("Fini !") n'est pas dans la boucle ?

  1. C'est un coup de chance !
  2. C'est parce qu'on a décaler l'instruction d'exactement 4 espaces !
  3. C'est parce qu'on ne peut faire qu'une instruction en boucle

03° Que trouve-t-on à la fin de la déclaration de la boucle ?

04° Créer un programme qui affiche 1000 fois "Trop facile en programmant".

...CORRECTION...

1 2 3
TEXTE = "Trop facile en programmant" for _ in range(1000): print(TEXTE)

05° Créer un programme qui affiche 10 lignes qui contiennent chacune 40 étoiles *.

...CORRECTION...

1 2 3
TEXTE = "*" * 40 for _ in range(10): print(TEXTE)

2 - Variable de boucle

Mais on peut faire bien mieux que faire pareil à chaque tour de boucle : on peut faire presque pareil à chaque tour de boucle.

Pour cela, nous allons maintenant donner un nom à la variable de boucle qui est entre le for et le in.

1 2 3 4 5 6
print("C'est parti !") for v in range(10): print(v) print("Fini !")
>>> %Run prog_boucle.py C'est parti ! 0 1 2 3 4 5 6 7 8 9 Fini !

On voit que l'action de boucle a bien été réalisée 10 fois et que la variable v a pris une à une toutes les valeurs affichées.

Comme on commence à 0, on s'arrête à 9 pour faire 10 actions.

06° Modifier le programme pour qu'il affiche les nombres 0, 10, 20, 30, 40, 50... jusqu'à 100.

...CORRECTION...

1 2 3 4 5 6
print("C'est parti !") for v in range(10): print(v * 10) print("Fini !")
>>> %Run prog_boucle.py C'est parti ! 0 10 20 30 40 50 60 70 80 90 Fini !

07° Créer un programme qui affiche 0 étoile, puis 1 étoile, puis 2 étoiles... jusqu'à 10 étoiles.

Attention, je veux 10 étoiles, pas 9 !

...CORRECTION...

1 2
for v in range(11): print("*" * v)
>>> %Run prog_boucle.py * ** *** **** ***** ****** ******* ******** ********* **********

3 - Py-rates

08° Connectez-vous sur le site py-rates.fr. Choississez votre personnage, et notez bien le numéro qui vous permettra de continuer de chez vous.

Il vous reste à passer les niveaux 1, 2 et 3.

Activité publiée le 08 12 2022
Dernière modification : 08 12 2022
Auteur : ows. h.