223 234

@0 Préparer une présentation orale résumant 2 à 3 notions abordées lors de la dernière séance de cours :

  1. choisir UNE notion différente par élève au sein de chaque équipe,
  2. se préparer à réaliser, en 5 minutes maximum, sur 1/3 du tableau blanc, un croquis accompagné de mots clés et du titre de la notion abordée pour soutenir la présentation orale,
  3. se préparer à présenter, SANS notes, sa notion en 1,5 minutes maximum.

LANGAGE PYTHON

0 - Découverte de Python

@1 Sur le site d’entrainement France IOI effectuer précisément ces 3 étapes :

  1. créer un compte en cliquant ce lien vers le login puis cliquer sur le bouton AUTORISER pour laisser France-IOI accéder à ce compte,
  2. saisir son prénom, son nom et son adresse mail en cliquant ce lien vers son profil puis cliquer sur le bouton SAUVEGARDER pour valider la saisie,
  3. rejoindre le groupe que j’ai crée pour la classe de 1ere NSI, en cliquant ce lien vers la classe NDLR NSI puis cliquer sur le bouton REJOINDRE CE GROUPE et sans attendre que je valide la demande d’adhésion au groupe, se lancer dans les défis ci-dessous.

@2 Effectuer les activités listées ci-dessous, SAUF celles qui sont rayées, sur le Chapitre 1 – Affichage de texte, suite d'instructions. Certaines corrections sont disponibles ci-dessous.

Introduction : Histoire et Objectifs
Découverte : 1) Hello world
Cours : Représentation de la sortie d'un programme
Entraînement : 2) Présentation
Cours : Afficher du texte : erreurs possibles
Découverte : 3) Plan de la montagne
Validation : 4) Dans le fourré

Pas de correction pour les validations ...

Cours : Mouvements : nécessité du module
Challenge : 5) Empilement de cylindres
Cours : Soumissions, conseils et forum d'entraide
Challenge : 6) Recette secrète

@3 Sur le Chapitre 2 – Répétitions d'instructions, effectuer les activités listées ci-dessous, SAUF celles qui sont rayées. Certaines corrections sont disponibles ci-dessous.

Introduction : Histoire et Objectifs
Découverte : Punition

Votre programme doit écrire 135 fois la phrase : “Je dois respecter le Grand Sorcier.”, en plaçant cette phrase exactement une fois sur chaque ligne. Attention, si votre programme n’affiche pas exactement cette phrase avec les points et la majuscule là où il faut, il faudra tout recommencer.

for chaqueFois in range (135) : print("Je dois respecter le Grand Sorcier.")
Cours Répétition : erreurs possibles
Cours Indentation : la touche tabulation
Entraînement : 2) Mathématiques de base
Entraînement : 3) Transport d'eau
Découverte : 4) Le secret du Goma
Cours : Répétition : cohérence de l'indentation
Entraînement : 5) Sisyphe
Découverte : 6) Page d'écriture
Découverte : 7) Jeu de dames
Entraînement : 8) Mont Kailash
Validation : 9) Vendanges

Pas de correction pour les validations ...

Cours : Insérer des commentaires
Challenge : 10) Le Grand Événement
Cours : Bien lire les corrections

Attention ! L’indentation en python n’est pas uniquement un élèment de présentation mais un élément faisant partie intégrante des structures.

1 - Types de langages

Python est un langage de programmation comme C, JavaScript, PHP, Java. Son développement a commencé en 1989 par Guido van Rossum et est en évolution permanente. C’est un langage interprété de haut niveau.

Il existe 2 grandes familles de langages de programmation :

Programmer, c’est créer des programmes (suite d’instructions données à l’ordinateur) ! Un ordinateur sans programme ne sait rien faire. Il existe différents langages qui permettent de programmer un ordinateur, mais le seul directement utilisable par le processeur est le langage machine (langage de plus bas niveau composé uniquement d’une suite de 1 et de 0). Aujourd’hui (presque) plus personne ne programme en langage machine (c’est un métier d’experts).

Les informaticiens utilisent des “mots” que l’on appelle des instructions (souvent proche de l’anglais) à la place de la suite de 0 et de 1. Ces instructions, une fois écrites par le programmeur, sont « traduites » en langage machine. Un programme spécialisé assure cette traduction. Ce système de traduction s’appellera interpréteur ou bien compilateur, suivant la méthode utilisée pour effectuer la traduction.

Puisqu’il exite deux manière de traduire un langage haut-niveau et langage bas-niveau, de-mêmeDe fait, il existe de typologie deux langages, ceux interprétés et ceux compilés :

L’intérêt principal d’un langage interprété sa portabilité : il fonctionne quelle que soit la configuration de l’ordinateur qui l’excécute.

Le principal défaut est que l’exécution d’un programme interprété est souvent plus lente que le même programme écrit dans un langage compilé.

2 - Environnement de développement Python

Pour programmer en Python ou en tout autre langage de “haut-niveau”, il faut disposer d’un environnement de travail dédié à cela. C’est ce qu’on appelle un Environnement Developpement Intégré ou IDL (Integrate DeveLopment Environment).

Il existe des IDE est installés sur l’odinateur de travail comme , l’IDE standard de Python mais aussi l’IDE EduPython, l’IDE PyCharm ou encore l’IDE ThonnyPython … Mais il existe également de IDE Python en ligne sur INternet comme Repl.it, Trinket…

A l’intérieur de chacun de ces différents IDE il est possible de programmer en Python de deux manière différentes et complémentaires :

L’éditeur ressemble à une page blanche avec des numéros de lignes sur la gauche pour mieux se repérer.

La console est un espace vide souvent plus petit que l’éditeur, souvent juste à coté et dont les numéros de lignes sont remplacés à gauche par les symboles >>>, qui signifient "j’attends tes instructions cher humain !!!"

@4 A l’aide de la console de l’IDE ThonnyPython, UNIQUEMENT, exécuter les commandes données en exemple ci-dessous.

>>> print("Bonjour")
Bonjour
>>> 10 // 3
3
>>> 10%3
1
>>> 9.5 + 2
11.5
>>> 3.11 + 2.08
5.1899999999999995

3 - Variables, affectation et opérations

@5 Sur le Chapitre 3 – Calculs et découverte des variables, effectuer les activités listées ci-dessous, SAUF celles qui sont rayées. Certaines corrections sont disponibles ci-dessous.

Découverte : 1) Réponds ! ⇒ afficher le nombre 42
Découverte : 2) L'éclipse ⇒ calculer la soustraction de deux entiers
Entraînement : 3) Bonbons pour tout le monde ! ⇒ combiner des opérations simples
Découverte : 4) L'algoréathlon ⇒ stocker le résultat d’un calcul pour le réutiliser
distance = 2 + 34 + 6 print(distance, end = " ") print(distance * 2, end = " ") print(distance * 3, end = " ")
Cours : Nom d'une variable
Entraînement : 5) Cour de récréation ⇒ utiliser une variable dans des opérations
longueur = 5 * 17 + 2 * 7 + 1 * 5 + 2 * 2 print(longueur * longueur) print(4 * longueur)
Découverte : 6) Une partie de cache-cache ⇒ afficher les entiers de 1 à 100
nombre = 1 for decompte in range(100): print(nombre) nombre = nombre + 1 print("J'arrive !")
Cours : Variables : suppléments
Entraînement : 7) Progresser par l'erreur ⇒ vérifier des programmes utilisant des variables
Entraînement : 8) Décollage de fusée ⇒ compter de 100 à 0
Entraînement : 9) Invasion de batraciens ⇒ calculer une puissance avec une boucle
Entraînement : 10) Kermesse ⇒ calculer les sommes intermédiaires des premiers entiers
Cours : Mettre à profit les identifiants
Validation : 11) Course avec les enfants ⇒ utiliser un compteur d’itérations d’une boucle

Pas de correction pour les validations ...

Validation : 12) Construction d'une pyramide ⇒ sommer les cubes des entiers impairs

Pas de correction pour les validations ...

Challenge : 13) Table de multiplication ⇒ afficher une table de multiplication
Cours : Suivre l'évolution des variables d'un programme

@6 A l’aide de la console de l’IDE ThonnyPython, UNIQUEMENT, exécuter les commandes données en exemple ci-dessous.

>>>mon_age = 16
mon_age
16
>>> mon_nouvel_age = mon_age + 1
>>> mon_nouvel_age
17
>>>mon_age = 21
>>> a = 3
>>> type(a)
<class 'int'>
>>> b = 3.1
>>> type(b)
<class 'float'>
>>> c = "Bonjour"
>>> type(c)
<class 'str'>
>>> a = 3
>>> print(a)
3
>>> a
3
>>> a = a + 3
>>> b = a - 2
>>> print("a =", a, "et b =", b)
a = 6 et b = 4

3.1 Définition d’une variable

Définition :
Une variable est une association entre un nom (un identifiant) et une valeur (d’un certain type).

Par analogie, on peut assimiler une variable à une boîte ou un tiroir portant un nom, une étiquette (son identifiant) et contenant un nombre, une lettre, une phrase … (c’est sa valeur, son contenu)

Exemple : La représentation d’une variable qui a pour nom ma_variable, est de type floatet a pour valeur 8.0.

Quel que soit le langage, le choix d’un nom de variable doit obéïr à plusieurs règles :

A noter : Les mots-clés réservés de Python 3 sont : and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield, False, None, True.

Exemples :

3.2 Affectation d’une variable

Une affectation est une instruction qui permet de donner une valeur à une variable, c’est-à-dire d’associer son nom à une valeur. Une affectation permet aussi de modifier cette association.

Exemple lors du déroulement du script de trois lignes ci-dessous :

3.3 Calculs sur les variables

Attention à la confusion : Une expression est le résultat d’un calcul effectué par un programme. Elle fournit une valeur (et donc un type) et peut être stockée dans une variable

Exemple : 3 + 5 est une expression de type entier dont la valeur est 8, alors que x = 3 + 5 est une affectation où x prend la valeur du résultat de l’expression 3 + 5

En python, la fonction type() donne le type de l’expression

>>>type(3+5)
<class `int`>

3.4 Utilisation des variables crées par la boucle for

En langage Python comme dans beaucoup d’autres langages de haut niveau, la boucle for crée et utilise une variable pour gérer le nombre de tours de boucle.

nbTours = 3 for chaqueTour in range(nbTours) : print("Bonjour")

ce qui produit :

Bonjour
Bonjour
Bonjour

Dans l’exemple ci-dessus, la variable chaqueTour démarre à la valeur 0 jusqu’à la valeur 2, ce qui fait bien 3 tours au final.

On peut vérifier cela en modifiant le code comme suit :

nbTours = 3 for chaqueTour in range(nbTours) : print("Bonjour numéro : ", chaqueTour)

ce qui produit :

Bonjour numéro : 0
Bonjour numéro : 1
Bonjour numéro : 2

On peut également effectuer des calculs avec cette “variable de boucle”.

for a in range(11) : print(a * 2)

ce qui produit :

0
2
4
6
8
10
12
14
16
18
20

France IOI ne parle pas de cette fonctionnalité au chapitre “Répétitions”, parce que les variables ne sont pas encore abordées.

Maintenant que l’on connait les variables, on peut créer des boucles beaucoup plus simples. Par exemple :


nombre = 10 for decompte in range(11) : print(nombre) nombre = nombre - 1
for nombre in range(11) : print(10 - nombre)

4 - Saisie de valeurs au clavier

@7 Sur le Chapitre 4 – Lecture de l'entrée, effectuer les activités listées ci-dessous, SAUF celles qui sont rayées. Certaines corrections sont disponibles ci-dessous.

Cours : Des programmes interactifs
Découverte : 1) Récoltes
Entraînement : 2) Retraite spirituelle
Entraînement : 3) Âge des petits-enfants
Cours : Représentation de l'entrée d'un programme
Cours : Erreur si l'on ne donne pas un entier
Entraînement : 4) Encore des punitions

Le programme doit lire un entier nbLignesfo (le nombre de lignes souhaité) puis écrire autant de fois que demandé la phrase « Je dois suivre en cours ».

nbLignes=int(input()) for chaqueLigne in range(nbLignes) : print("Je dois suivre en cours")
Entraînement : 5) Graduation de thermomètres
Cours : Utiliser les exemples des sujets
Entraînement : 6) Jeu de calcul mental

Le chef choisit un nombre. La personne qui suit le multiplie par 2, puis la suivante multiplie le nombre obtenu par 3, celle d’encore après multiplie le résultat par 4… jusqu’à ce que les nbNombres calculs aient été effectués.

Le chef a choisi le nombre 66 pour démarrer le jeu (stocké dans la variable nbDepart). Le programme doit lire l’entier nbNombres, qui correspond à la quantité de nombres attendue par le jeu (nombre de départ inclus) ce qui correspondant donc au nombre de répétitions à effectuer. Il doit ensuite afficher tous les nombres de la partie.

nbNombres=int(input()) nbDepart=66 nbIncrement=1 for chaqueTour in range(nbNombres) : print(nbDepart) nbIncrement+=1 nbDepart*=nbIncrement
Validation : 7) La Grande Braderie

Pas de correction pour les validations ...

Cours : Lecture d'entiers : autre erreur possible
Entraînement : 8) Bétail

Le programme doit lire 20 entiers puis afficher la somme de tous ces entiers.

totalBetes=0 for chaqueTour in range(20) : nbBetes=int(input()) totalBetes+=nbBetes print(totalBetes)
Validation : 9) Socles pour statues

Pas de correction pour les validations ...

Cours : Instructions condensées
Validation : 10) Le plus beau Karva

Pas de correction pour les validations ...

Cours : Erreur si on lit trop de choses
Cours : Portée d'une variable

5 - Structures conditionnelles

@8 Sur le Chapitre 5 – Tests et conditions, effectuer les activités listées ci-dessous, SAUF celles qui sont rayées. Certaines corrections sont disponibles ci-dessous.

Cours : Des programmes interactifs
Découverte : 1) Transport des bagages
nbBagages=int(input()) poidsBagages=int(input()) poidsTotal=nbBagages*poidsBagages if(poidsTotal>105) : print("Surcharge !")
Entraînement : 2) Bornes kilométriques
Entraînement : 3) Tarifs dégressifs
heureArrivee=int(input()) prix = 10 + 5 * heureArrivee if prix > 53: prix = 53 print(prix)
Entraînement : 4) Bagarre générale
supArignon=int(input()) supEvaran=int(input()) if supArignon - supEvaran > 10 : print("La famille Arignon a un champ trop grand") if supEvaran - supArignon > 10 : print("La famille Evaran a un champ trop grand")
Découverte : 5) Tarif du bateau
Cours : Conditions : erreur possible
Cours : Blocs conditionels formés de plusieurs instructions
Entraînement : 6) Traversée du pont
premierDe = int(input()) secondDe = int(input()) somme = premierDe + secondDe if somme >= 10: print("Taxe spéciale !") print(36) else: print("Taxe régulière") print(2 * somme)
Validation : 7) Concours de tir à la corde

Pas de correction pour les validations ...

Validation : 8) Mot de passe du village

Pas de correction pour les validations ...


5.1 Le modèle “si … alors … sinon”

age = 21
if age >= 18: # Si age est supérieur ou égal à 18
    print("Vous êtes majeur.")
    else: # Sinon (age inférieur à 18)
    print("Vous êtes mineur.")
monNombre = 3
if monNombre > 2 :
        print("monNombre est supérieur à 2")
    else :
        print("monNombre est inférieur à 2.")
if a > 0 : 
    print("a est positif.")
elif a < 0 : 
    print("a est négatif.")
else : 
    print("a est nul.")
if annee % 400 == 0:
    bissextile = True
elif annee % 100 == 0:
    bissextile = False
elif annee % 4 == 0:
    bissextile = True
else:
    bissextile = False
if a > 0 :
    ...
elif 0 > a :
    ...
if age >= 18 :
    majeur = True
majeur = False
age = 10
if age >= 18 :
    majeur = True
    print(majeur)
else :
    majeur = False
    print(majeur)

5.2 Le modèle “switch”

Il existe une façon plus condensée d’écrire certaines instructions conditionnelles avec de “If”:

En PHP (langage utilisé dans les serveurs Web), on peut avoir par exemple :

switch($i){ case 0 : instruction si $i =0 ; break; case 1 : instruction si $i =1 ; break; case 2 : instruction si $i =2 ; break; default : instructions dans les autres cas; }

En C, cela donne (quasiment la même chose):

switch(i){
    case 0 : instruction si i =0 ; break;
    case 1 : instruction si i =1 ; break;
    case 2 : instruction si i =2 ; break;
    default : instructions dans les autres cas;
}

Avec Python les choses sont moins condensées puisque “switch” n’existe pas mais seulement if, elif et else :

if i == 0:
    instruction si i =0
elif i == 1:
    instruction si i =1
elif i == 2:
    instruction si i =2
else:
    instructions dans les autres cas

@9 Sur le Chapitre 6 – Structures avancées, effectuer les activités listées ci-dessous, SAUF celles qui sont rayées. Certaines corrections sont disponibles ci-dessous.

Cours : Structures imbriquées
Entraînement : 1) Villes et villages
nombre_lieux = int(input() nombre_villes = 0 for chaqueLieu in range (nombre_lieux) : nombre_habitants = int(input()) if nombre_habitants > 10000 : nombre_villes = nombre_villes +1 print(nombre_villes)
Validation : 2) Planning de la journée

Pas de correction pour les validations ...

Découverte : 3) Étape la plus longue
nbJours = int(input()) distanceMax = 0 for chaqueJour in range(nbJours): distance = int(input()) if distance > distanceMax: distanceMax = distance print(distanceMax)
Entraînement : 4) Calcul des dénivelées
nbVariations = int(input()) totalPositif = 0 totalNegatif = 0 for chaqueVariation in range(nbVariations): variation = int(input()) if variation > 0: totalPositif = totalPositif + variation else: totalNegatif = totalNegatif - variation print(totalPositif) print(totalNegatif)
Entraînement : 5) Type d'arbres
hauteur = int(input()) folioles = int(input()) if hauteur <= 8 : if folioles <= 5 : print("Falarion") if hauteur <= 5 : if folioles >= 8 : print("Tinuviel") if hauteur >= 10 : if folioles >= 10 : print("Calaelen") if hauteur >= 12 : if folioles <= 7 : print("Dorthonion")
Entraînement : 6) Tarifs de l'auberge
age = int(input()) poids = int(input()) if age < 10: print(5) else: if age == 60: print(0) else: if poids >= 20: print(40) else: print(30)
Entraînement : 7) Protection du village
nbMaisons = int(input()) xMin = 1000 * 1000 xMax = 0 yMin = 1000 * 1000 yMax = 0 for chaqueMaison in range(nbMaisons): posX = int(input()) posY = int(input()) if posX < xMin: xMin = posX if posX > xMax: xMax = posX if posY < yMin: yMin = posY if posY > yMax: yMax = posY largeur = xMax - xMin hauteur = yMax - yMin perimetre = 2 * (largeur + hauteur) print(perimetre)
Validation : 8) Le juste prix

Pas de correction pour les validations ...


@10 Sur le Chapitre 7 - Conditions avancées, opérateurs booléens, effectuer les activités listées ci-dessous, SAUF celles qui sont rayées. Certaines corrections sont disponibles ci-dessous.

Découverte : 1) Espion étranger

⇒ calculer le nombre de valeurs tombant dans un intervalle

date_debut = int(input()) date_fin = int(input()) nb_entrees = int(input()) compteur_personnes = 0 for chaqueEntree in range(nb_entrees): date = int(input()) if date_debut <= date and date <= date_fin: compteur_personnes = compteur_personnes + 1 print(compteur_personnes)
Entraînement : 2) Maison de l'espion

⇒ calculer le nombre de valeurs tombant dans un rectangle

x_min = int(input()) x_max = int(input()) y_min = int(input()) y_max = int(input()) nb_maisons = int(input()) compteur_maisons = 0 for chaqueMaison in range(nb_maisons): x = int(input()) y = int(input()) if (x_min <= x) and (x <= x_max) and (y_min <= y) and (y <= y_max): compteur_maisons = compteur_maisons + 1 print(compteur_maisons)
Entraînement : 3) Nombre de jours dans le mois

⇒ bien combiner plusieurs tests pour avoir un programme court

Entraînement : 4) Amitié entre gardes

⇒ déterminer si des intervalles 1D s’intersectent

debut_un = int(input()) fin_un = int(input()) debut_deux = int(input()) fin_deux = int(input()) if (fin_deux < debut_un) or (fin_un < debut_deux): print("Pas amis") else: print("Amis")
Entraînement : 5) Nombre de personnes à la fête

⇒ calculer la valeur maximale atteinte d’un compteur augmentant et diminuant

nb_personnes = int(input()) maximum = 0 nb_presents = 0 for chaquePassage in range(nb_personnes * 2) : numero = int(input()) if numero > 0 : nb_presents = nb_presents + 1 if nb_presents > maximum : maximum = nb_presents else : nb_presents = nb_presents - 1 print(maximum)
Validation : 6) Casernes de pompiers

⇒ déterminer si des rectangles à bords droits s’intersectent

Pas de correction pour les validations ...

Découverte : 7) Personne disparue

⇒ déterminer si une valeur est présente dans une liste

numero_recherche = int(input()) taille_liste = int(input()) est_sorti = False for elementDeLaListe in range(taille_liste) : numero_liste = int(input()) if numero_liste == numero_recherche : est_sorti = True if est_sorti : print("Sorti de la ville") else : print("Encore dans la ville")
Découverte : 8) La grande fête

⇒ calculer le nombre d’intervalles intersectant un intervalle de référence

Cours : Booléens : choses à ne pas faire
Entraînement : 9) L'espion est démasqué !

⇒ tester le nombre de critères vérifiés par les données lues

Validation : 10) Zones de couleurs

⇒ tester l’appartenance de points à des zones du plan avec des tests complexes

Pas de correction pour les validations ...

Cours : Aider les autres

6 - Structures itératives

@11 Sur le Chapitre 8 – Répétitions conditionnées, effectuer les activités listées ci-dessous, SAUF celles qui sont rayées. Certaines corrections sont disponibles ci-dessous.

Découverte : 1) Département de médecine : contrôle d'une épidémie
population = int(input()) numJour = 1 nbMalades = 1 while nbMalades < population : numJour = numJour + 1 nbMalades = nbMalades * 3 print(numJour)
Cours : Boucle infinie
Entraînement : 2) Administration : comptes annuels
totalDepenses=0 depense=0 while depense != -1 : totalDepenses = totalDepenses + depense depense = int(input()) print(totalDepenses)
Entraînement : 3) Département de pédagogie : le « c'est plus, c'est moins »
secret = int(input()) essai = int(input()) nbEssais = 1 while essai != secret : if essai < secret : print("c'est plus") else : print("c'est moins") nbEssais += 1 essai = int(input()) print("Nombre d'essais nécessaires :") print(nbEssais)
Validation : 4) Département d'architecture : construction d'une pyramide

⇒ calculer la plus grande somme de carrés inférieure à un seuil

Pas de correction pour les validations ...

Validation : 5) Département de chimie : mélange explosif

⇒ tester la raison de sortie d’une boucle while pour effectuer une action

Pas de correction pour les validations ...


6.1 Rappels sur les boucles “bornées” (pour / for)

La boucle pour / for est utilisée quand on connait le nombre de fois où l’on doit répéter une suite d’instructions.

Exemple en pseudo-code :

Pour i allant de 0 à n-1 faire :
    ...
    les différentes instructions à répéter
    ...    
Fin pour

En python la boucle for peut utiliser différentes structures. La plus simple est celle fonctionnant avec range. Exemple :

for i in range(n):
    ... 
    les différentes instructions à répéter
    ...

Ici, la première ligne précise que la suite du code va être répétée n fois en incrémentant de manière automatique la variable i de 0 à n-1.

Remarque : Dans Python, il n’y a pas de Fin_Pour : C’est en fait l’ indentation qui sert de limitateur de boucle. L’indentation suffit à comprendre quelles instructions appartiennent à la boucle et quelles instructions n’en font pas partie.

Il y a ainsi trois possibilités pour utiliser l’instruction range(), suivant le nombre de paramètres entiers saisis :

for i in range(n):
for i in range(m,n):
for i in range(m,n,pas):

Remarque :

@12 A l’aide de l’éditeur de ThonnyPython, exécuter les lignes de codes ci-dessous.

message="bonjour" for lettre in message: print(lettre)
Résultat de l’exécution :
b
o
n
j
o
u
r

6.2 La boucle non bornée (tant-que / while)

La boucle répétitive conditionnelle tant-que / while est utilisée quand on ne connait pas le nombre de fois où l’on doit répéter une suite d’instructions.

Exemple de la boucle tant-que en pseudo-code :

Tant_que condition vraie 
 	...
    bloc d'instructions à répéter
    ...
Fin Tant_que

Exemple en python :

while condition :
 	...
    bloc d'instructions à répéter
    ...
Fin Tant_que

@13 A l’aide de l’éditeur de ThonnyPython, exécuter les lignes de codes ci-dessous.

age =5 annee = 0 while age < 18: annee = annee + 1 age = age + 1 print("il sera majeur dans",annee,"ans")
Résultat de l’exécution :
il sera majeur dans 13 ans

a = 0 b = 9 while a < 10 : # Tant-que i est strictement inférieure à 10 print(a + 1, "*", b, "=", (a + 1) * b) a += 1 # On incrémente i de 1 à chaque tour de boucle
Résultat de l’exécution :
1 * 9 = 9
2 * 9 = 18
3 * 9 = 27
4 * 9 = 36
5 * 9 = 45
6 * 9 = 54
7 * 9 = 63
8 * 9 = 72
9 * 9 = 81
10 * 9 = 90

Remarque : Comme pour la boucle pour, avec Python, il n’y a pas de Fin_Tant_que : C’est en fait l’ indentation qui sert de limitateur de boucle. L’indentation suffit à comprendre quelles instructions appartiennent à la boucle et quelles instructions n’en font pas partie.

Fonctionnement de la boucle tant_que / while :

Trois points importants à surveiller :