SNT Python 2

Identification

Infoforall

3 - Variables


Maintenant que vous savez enregistrer et lancer des programmes Python, un nouveau type de prompt s'offre à vous :

Chat GPT sait aussi fournir des scripts Python simples
Les prompts Python ?

Documents de cours : pdf ou odt.

1 - Affectation

Un langage de programmation permet de stocker des données dans la mémoire.

calcul bizarre
Image issue de http://hcc-cs.weebly.com/variables.html

Les variables permettent d’enregistrer des données puis de les lire plus tard.

✔ Intro A (Mise en place)° Réaliser les actions suivantes :

  • Sortir votre feuille de TP et y noter le titre Python 3.
  • Ouvrir Thonny. Réduire la fenêtre de Thonny et de votre navigateur Web pour que chaque fenêtre occupe la moitié de l'écran.
  • Ouvrir votre dossier/répertoire personnel. Créer dans le dossier SNT un nouveau sous-dossier qu'on nommera python03.
  • Sur Windows : vérifier via le menu affichage de votre explorateur de dossiers que vous avez bien coché la case "Afficher les extensions".

✔ Intro B° Dans Thonny, aller dans le menu Affichage/Views et sélectionner Variables si l’onglet Variables n’est pas ouvert.

Si vous ne voyez pas l'onglet Variables apparaître, demandez de l'aide.

✔ Intro C° Dans la zone de programmation, sauvegarder ce programme sous le nom decouvertevariable.py. Ensuite :

  1. Placer ce programme dans la zone de programmation de Thonny.
  2. 1 2 3 4 5
    a = 20 b = 10 c = a + b a
  3. Sauvegarder le programme sous le nom variable.py en le plaçant dans le dossier python03.
  4. Lancer avec la flèche verte.
  5. Vous devriez obtenir ceci :

    Résultat du programme
  6. Regarder l'onglet VARIABLES de Thonny pour voir ce qu'il contient
    • une variable a a été créée : elle référence 20.
    • une variable b a été créée : elle référence 10.
    • une variable c a été créée : elle référence 30.
  7. Regarder la console : la ligne 5 ou 6 ne contenant que a n'a provqué AUCUN AFFICHAGE contrairement à ce qu'on aurait pu croire

✔ Intro D° Remplacer le programme par celui-ci qui diffère juste sur la ligne 5. On utilise la fonction print() vue dans Python 01 : elle permet de demander à Python d'afficher dans la console.

1 2 3 4 5
a = 20 b = 10 c = a + b print(a)

Lancer le programme.

Vous devriez obtenir ceci :

Résultat du programme

Regarder la console : cette fois la console affiche bien la valeur 20.

Conclusion : dans un programme, toute demande d'affichage doit être faite de façon explicite avec print().

✔ Intro E° Utiliser ce nouveau programme et répondre à cette question : la ligne 04 a-t-elle permis de modifier la valeur de a ?

1 2 3 4 5
a = 20 print(a) a + 100 print(a)

Vous devriez obtenir ceci :

Résultat du programme

On voit qu'on affiche deux fois 20 : la ligne 4 n'a pas modifié a. On a juste demandé à Python de calculer ce que fait a + 100 sans lui demander ni de l'afficher, ni de le stocker.

✔ Intro F° Utiliser ce dernier programme et répondre à cette question : la ligne 04 a-t-elle permis de modifier la valeur de a ?

1 2 3 4 5
a = 20 print(a) a = a + 100 print(a)

Vous devriez obtenir ceci :

Résultat du programme
  • On voit qu'on affiche 20 puis 120 : cette fois la ligne 4 a bien modifié a.

Conclusion : dans un programme, toute demande de stockage d'informations doit être faite de façon explicite avec l'utilisation de =.

Passons aux exercices pratiques.

⚙ 01° Compléter ce programme pour qu'il mémorise dans la variable moyenne la moyenne des notes contenues dans note1 et note2, puis affiche la valeur de moyenne à l'aide d'une instruction sur la dernière ligne.

CONSIGNE : vous ne devez pas écrire de valeurs visibles sur le programme en dehors des lignes 1 et 2 (20 et 14). Utilisez uniquement les noms des variables. De cette façon, lorsqu'on modifiera l'une des notes, le programme continuera de fonctionner.

1 2 3 4 5
note1 = 20 note2 = 14 moyenne = ... ...

...CORRECTION...

1 2 3 4 5
note1 = 20 note2 = 14 moyenne = (note1 + note2) / 2 print(moyenne)

⚙ 02° Lire et utiliser l'exemple ci-dessous qui utilise la concaténation progressive de strings. Répondre ensuite aux questions situées sous le code :

1 2 3 4 5 6 7 8 9
e1 = "Alice" e2 = "Bob" e3 = "Charlie" eleves = e1 + ";" + e2 + ";" + e3 presente = "Zoé" in eleves print(eleves) print(presente)
  1. Sur quelle ligne affecte-t-on la variable eleves ? Quel va être son type (int, float, str ou bool) ?
  2. Sur quelle ligne affecte-t-on la variable presente ? Quel va être son type (int, float, str ou bool) ?
  3. Sur quelle ligne demande-t-on d'afficher la variable presente ?

...CORRECTION...

  1. eleves est créée en ligne 5 et on lui affecte un string.
  2. presente est créée en ligne 6 et on lui affecte un bool, qui sera obtenue en se demandant ce que vaut "Zoé" in eleves .
  3. Ligne 9.

⚙ 03° Analyser le programme pour répondre aux questions suivantes :

1 2 3 4
age = 16 limite = 18 autorisation = age > limite limite = 15
  1. Que contient autorisation après exécution de la ligne 3 ? True ou False ?
  2. La ligne 4 a-t-elle un effet sur ce qui s'est passé en ligne 3 ?
  3. Rajouter un print() en fin de programme pour qu'on affiche le STRING suivant (un seul texte donc) :
  4. Autorisation accordée :
  5. Rajouter un second print() en fin de programme pour qu'on affiche le contenu de la variable autorisation : Python devrait vous afficher soit True, soit False sous le texte précédent.
  6. Autorisation accordée : (Ici True ou False devra apparaître)

...CORRECTION...

Visuel q3
Résultat à la fin du programme
  1. L'age n'est pas supérieur à la limite. autorisation contient donc False.
  2. Le fait de modifier en ligne 4 l'une des variables ne va clairement pas modifier ce qui s'est passé en ligne 3 : séquentialité.
  3. Le programme avec le premier affichage demandé :
  4. 1 2 3 4 5 6
    age = 16 limite = 18 autorisation = age > limite limite = 15 print("Autorisation accordée :")
  5. Le programme avec le deuxième affichage demandé :
  6. 1 2 3 4 5 6
    age = 16 limite = 18 autorisation = age > limite limite = 15 print("Autorisation accordée :") print(autorisation)

⚙ 04° Réaliser ceci dans l'ordre :

  • Compléter les lignes 4 et 5 pour calculer puis mémoriser le périmètre et l'aire du rectangle de côté cote1 et cote2.
  • Compléter alors les lignes 8 et 10 pour que le programme affiche les valeurs du périmètre et de l'aire.
  • Lancer ensuite le programme en modifiant uniquement les valeurs des variables en ligne 1 et 2.
1 2 3 4 5 6 7 8 9 10
cote1 = 100 cote2 = 150 perimetre = ... aire = ... print("Périmètre") ... print("Aire") ...

...CORRECTION...

1 2 3 4 5 6 7 8 9 10
cote1 = 100 cote2 = 150 perimetre = 2 * cote1 + 2 * cote2 aire = cote1 * cote2 print("Périmètre") print(perimetre) print("Aire") print(aire)

✎ 05° Lancer ce programme pour voir ce qu'il trace. Modifier ensuite uniquement les trois premières variables de façon à tracer un carré rouge foncée de 150 pixels de côté. Sur votre copie, écrire uniquement les 3 lignes modifiées.

1 2 3 4 5 6 7 8 9 10 11 12 13 14
from turtle import * couleur1 = "#FF0000" cote1 = 100 cote2 = 200 epaisseur = 15 pencolor(couleur1) pensize(epaisseur) goto(cote1, 0) goto(cote1, cote2) goto(0, cote2) goto(0, 0)

Que choisir pour les noms des variables ?

  1. Un nom EXPLICITE : le nom doit être suffisant pour comprendre l'information contenue.
  2. Toujours une minuscule au début.
  3. Aucun espace. Si vous voulez utiliser un nom composé, choisissez entre
    • les underscores : note_ds
    • une majuscule de séparation : noteDs

Si vous êtes en TP, passez directement à la partie 2 suivante, sans lire les deux bilans ci-dessous : ils seront analysés oralement à la fin du TP.

1.1 VARIABLE - Affectation

Affectation

L'affectation est le nom qu'on donne au mécanisme permettant de créer une liaison entre un NOM et un CONTENU MEMOIRE.

une sorte de boite
Image issue de http://hcc-cs.weebly.com/variables.html
L'opérateur d'affectation = en Python
1
a = 10

L'opérateur = permet de créer une variable nommée a et y stocker la valeur 10.

On peut représenter naïvement ce mécanisme comme une boite qui porte un NOM et dans laquelle on place le CONTENU associé.

Boite a contenant 10

Néanmoins, une affectation est simplement un moyen de faire la liaison entre un NOM et un CONTENU en mémoire :

une sorte de liaison
L'opérateur d'affectation dans les algorithmes

Notez bien que c'est le CONTENU 10 qu'on associe au NOM a : on va de la droite vers la gauche. C'est pour cela qu'on écrit plutôt ceci dans les algorithmes :

a  10

Lire une variable

Pour obtenir le contenu d'une variable, il suffit

  • Dans la console interactive : de taper le nom de cette variable .
  • >>> a = 100 >>> a 100
  • Dans un programme : d'utiliser print() sur cette variable .
  • 1 2
    a = 100 print(a)
1.2 VARIABLE - Exemples d'affectation

Déroulé de l'affectation

On commence par évaluer ce qui est à droite de =, puis on affecte cette valeur à la variable de gauche.

Exemple 1
1
a = 20 + 5

TRADUCTION : affecte 25 à la variable a.

Exemple 2
1 2
a = 20 b = a + 100

TRADUCTION : évalue a + 100 et affecte cette nouvelle valeur de 120 à la variable b.

2 - Récupérer les entrées clavier : input()

On peut se demander pourquoi passer par des variables alors que la valeur est écrite quelques lignes au dessus...

2.1 But des variables : stocker une future information

Exécuter mentalement un programme

Vous savez maintenant EXECUTER MENTALEMENT le programme ci-dessous : il va afficher une valeur de 15.

1 2 3 4 5
note1 = 10 note2 = 20 moyenne = (note1 + note2) / 2 print(moyenne)

Oui, mais : on ne vous demande pas d'EXECUTER le programme : c'est le travail de l'ordinateur.

Comprendre mentalement un programme

En tant qu'humain, vous avez juste besoin que de COMPRENDRE ce que réalise le programme.

J'ai remplacé les contenus réels des variables par ... : vous devriez comprendre ce que le programme va réaliser, un jour, lorsqu'il aura accès à des valeurs précises.

1 2 3 4 5
note1 = ... note2 = ... moyenne = (note1 + note2) / 2 print(moyenne)

L'utilisation d'une variable permet de COMPRENDRE un programme sans savoir EXACTEMENT ce que seront les données. Par contre, vous avez besoin de connaître le type d'informations qu'elles contiendront.

⚙ 06° Mettre ce programme en mémoire sans le modifier puis le lancer : il va afficher un message dans la console et vous devriez voir que le curseur clignote : il attend votre réponse.

Tapez ce que vous voulez dans la console puis validez avec la touche ENTREE.

1 2 3 4
print("Donnez votre texte puis validez avec la touche ENTREE : ") reponse = input() print("Merci. La répétition donne ceci ") print(reponse * 3)

Exemple d'utilisation : si vous tapez Bon dans la console, il affichera BonBonBon.

En ligne 2, c'est input() qui demande à l'utilisateur de taper quelque chose.

C'est le print() de la ligne 4 qui provoque la répétion du texte à l'écran.

Question

En lisant simplement le code, peut-on prévoir à l'avance le contenu de la variable reponse ? Peut-on néanmoins comprendre ce que réalisera ce programme ?

...CORRECTION...

Non, on ne peut pas savoir ce que va taper l'utilisateur.

Par contre, on peut réfléchir et élaborer un programme en sachant que cette variable va contenir ce que l'utilisateur va taper un jour.

2.2 La fonction native input()

Principe

La fonction input() permet de récupérer sous forme d'un STRING ce qu'un utilisateur va taper un jour sur le clavier.

L'utilisateur doit valider sa réponse avec la touche ENTREE.

1 2 3 4
print("Donnez votre nom puis validez avec la touche ENTREE : ") reponse = input() print("Merci. Votre nom est :") print(reponse)

Pour comprendre le programme ci-dessus, il vous suffit de savoir que la variable reponse va contenir un string correspondant aux touches enfoncées par l'utilisateur.

  • L2, à droite : on demande à l'utilisateur de fournir son nom;
  • L2, à gauche : on stocke sa réponse dans la variable nommée reponse;
  • L4 : on affichera sa réponse.
Récupérer un entier ?

Réponse simple : on ne peut pas ! Tout ce que vous tapez va être transmis à Python sous forme d'un string.

Si vous tapez 17, input() renvoie un string "17", et pas un int 17.

Mais; on peut utiliser la fonction native int() qui permet de tenter de créer un entier à partir de la donnée qu'on lui fournit. Exemple d'utilisation :

1 2 3 4
print("Donnez votre note puis validez avec la touche ENTREE : ") reponse = int( input() ) print("Comme je suis gentil, je vous rajoute 3 points :") print(reponse + 3)

⚙ 07° Utiliser ce programme qui demande à l'utilisateur un texte puis le nombre de fois qu'il veut qu'on le répète.

1 2 3 4 5 6
print("Donnez votre texte puis validez avec la touche ENTREE : ") reponse = input() print("Combien de fois voulez-vous le répéter ? ") nb = int(input()) print("Merci. La répétition donne ceci ") print(reponse * nb)

Exemple d'utilisation : si vous tapez Bon puis 5 dans la console, il affichera BonBonBonBonBon.

Questions

  1. En lisant simplement le code, peut-on prévoir à l'avance le contenu des variables reponse et nb ?
  2. En ligne 4, pourquoi avoir utilisé la fonction int() sur le résultat que va renvoyer input() ?

...CORRECTION...

Non, toujours pas.

Si l'utilisateur tape 13 par exemple, la fonction input() va renvoyer "13" un string. Il faut donc utiliser int() pour parvenir à l'interpréter comme un entier.

✎ 08-B° Remplacer les ... du programme pour

  • (ligne 2) demander l'année de naissance de l'utilisateur (à l'aide d'une utilisation adapatée d'un input()) et la stocker dans naissance;
  • (ligne 4) demander l'année actuelle à l'utilisateur (à l'aide d'une utilisation adapatée d'un input()) et la stocker dans maintenant;
  • (ligne 6) en utilisant simplement les variables maintenant et naissance, calculer l'age de l'utilisateur dans la variable age.

On ne tiendra pas compte de la date d'anniversaire, juste de l'année de naissance.

N'écrivez que les lignes 2,4,5 sur votre feuille.

1 2 3 4 5 6 7
print("Quelle est votre année de naissance (avec 4 chiffres) ? ") naissance = ... print("Quelle année sommes-nous (avec 4 chiffres) ? ") maintenant = ... age = ... print("Merci. Votre age : ") print(age)

✎ 09° Compléter le programme qui demande à l'utilisateur de fournir 3 intensités colorées RGB (sous le format 00 11 22 ... jusqu'à FF) et les stocke dans r g b.

Vous allez devoir compléter un peu le programme pour parvenir à utiliser les trois réponses pour dessiner ce qui correspond à la partie rouge, la partie verte, la partie bleue et ce qui perçoit notre oeil lorsqu'il reçoit les trois à la fois.

Exemple de résultat si l'utilisateur répond FF suivi de FF puis 00 :

exemple de résultat
Exemple de résultat affiché

Vous ne noterez sur votre feuille que les lignes 10 à 13..

Votre travail :

  • Ligne 11 : créer et stocker dans vert string qui correspond à la couleur verte. Inspirez vous du rouge : on rappelle que le vert est au mileu : #00xx00.
  • Ligne 12 : créer et stocker dans bleu string qui correspond à la couleur bleue. Inspirez vous du rouge : on rappelle que le bleu est à droite : #0000xx.
  • Ligne 13 : il faudra créer le string qui correspond à la vraie couleur RGB que veut l'utilisateur : #xxxxxx.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
from turtle import * print("Quelle intensité R ? ") r = input() print("Quelle intensité G ? ") g = input() print("Quelle intensité B ? ") b = input() rouge = "#" + r + "00" + "00" vert = ... bleu = ... couleur_voulue = ... pencolor(rouge) dot(40) goto(50, 0) pencolor(vert) dot(40) goto(100, 0) pencolor(bleu) dot(40) goto(150, 0) pencolor(couleur_voulue) dot(40)
2.3 Objets connectés : IMH, actionneur, capteur
graph LR subgraph "Monde Physique" H([Humain]) end subgraph interface C([CAPTEUR : Clavier]) end subgraph informatique direction LR E([signaux électroniques]) o--o O([Données sous
forme d'octets]) end H --- C --- informatique
graph RL subgraph informatique direction LR E([signaux électroniques]) o--o O([Données sous
forme d'octets]) end subgraph interface A([ACTIONNEUR : Ecran]) end subgraph "Monde Physique" H([Humain]) end informatique --- A --- H

IHM

C'est l'acronyme d'Interface Homme Machine.

On retrouve la notion d'IHM dans tous systèmes où un utilisateur interagit avec un système informatique ou électronique.

Capteur

Dispositif qui récupère une information du monde extérieur et l'envoie au système informatique sous forme d'un signal physique.

Dans le cas de la console interactive, le clavier est un capteur : on récupère des données depuis le monde physique.

Sur un smartphone, le microphone est un capteur : il transforme les ondes mécaniques de votre voix en données informatiques.

Actionneur

Dispositif qui récupère une donnée informatique et la transforme en signal physique.

Dans le cas de la console interactive, l'écran est donc un actionneur : on transforme un code en affichage.

Sur un smartphone, le haut-parleur est un actionneur : il transforme les données informatiques d'un fichier-son en ondes mécaniques.

3 - Incrémentation

3.1 - VARIABLE - Incrémentation

Vocabulaire

Incrémenter de 1 en partant de 45 veut dire qu'on passe à 46.

Incrémenter de 2 en partant de 45 veut dire qu'on passe à 47.

Incrémenter de 5 en partant de 45 veut dire qu'on passe à 50.

Incrémenter de -1 en partant de 45 veut dire qu'on passe à 44.

On dit plutôt décrémenter de 1 d'ailleurs.

Conclusion

Incrémenter veut dire utiliser la valeur actuelle d'une variable pour calculer sa nouvelle valeur.

Incrémenter (sans autre information donnée) veut dire qu'on incrémente de +1. il s'agit de la valeur par défaut.

Faire une incrémentation en Python
1 2
a = 10 # après cette ligne, a référence 10 a = a + 1 # après cette ligne, a référence 11

La demande s'effectue bien de la droite vers la gauche :

  1. a = a + 1 : évaluer ce que donne cette valeur + 1 (donc 10+1=11 sur l'exemple)
  2. a = a + 1 : affecter le résultat de cette évaluation à a.
3.2 - VARIABLE - Exemples d'incrémentation

Exemple 1
1 2 3
a = 20 a = a + 100 print(a)

On calcule a+100 puis affecte ce 120 à la variable a. On affiche donc finalement 120.

Exemple 2
1 2 3
a = 10 a = a + 3 print(a)

On calcule a+3 puis affecte ce 13 à la variable a. On affiche donc finalement 13.

Exemple 3
1 2 3 4
a = 10 a = a + 10 a = a + 50 print(a)

On calcule a+10 puis affecte ce 20 à la variable a. Ensuite, on calcule a+50 et on affecte ce 70 à la variable a. On affiche donc finalement 70.

⚙ 10° Utiliser l'exemple ci-dessous et vérifier que vous comprennez les affichages obtenus.

1 2 3 4 5 6 7 8 9 10 11
note = 12 print(note) note = note + 4 print(note) note = note - 2 print(note) note = note + 3 print(note)

✎ 11° Compléter ce programme pour qu'il fasse ceci au final :

  • stocke le prix d'un objet dans une variable prix (déjà fait en ligne 1)
  • stocke le nombre d'objets voulus dans une variable nb (déjà fait en ligne 2)
  • calcule et stocke le prix à payer dans une variable total.
  • calcule et stocke dans total le prix en rajoutant 5 euros de frais de dossier. Il faudra faire ce calcul en utilisant une incrémentation.
  • affiche le total à payer.

Vous noterez sur votre copie uniquement les lignes qu'il faudra compléter.

1 2 3 4 5 6 7 8
prix = 10 nb = 7 total = ... total = ... print("Total") ...

Voyons comment tracer des cercles ou des arcs de cercle avec Turtle. Si c'est un rappel pour vous, vous pouvez passer directement aux questions suivantes.

3.3 - Turtle : tracer un arc de cercle avec circle()

Tracer un cercle complet

La fonction circle() trace un cercle dont on doit fournir le rayon. La position actuelle correspond au point de départ sur le périmètre du cercle.

1 2 3 4
from turtle import * circle(100) circle(50)
circle
Tracer un arc de cercle

On peut envoyer deux arguments à la fonction circle() : le premier est le rayon, le deuxième est l'angle vers lequel le crayon va s'arrêter lors du tracé. Pas facile à utiliser.

  1. 360° de rotation sur soi-même en suivant la trajectoire du cercle : facile, ça fait un cercle.
  2. 180° de rotation sur soi-même en suivant la trajectoire du cercle imaginaire : facile, ça fait un demi-cercle.
  3. 90° de rotation sur soi-même en suivant la trajectoire du cercle imaginaire : facile, ça fait un quart de cercle.

Regardons quelques exemples.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
from turtle import * pensize(10) color("red") circle(100, 90) color("blue") circle(100, 90) color("green") circle(100, 90) color("orange") circle(100, 90)
circles

✎ 12° Expliquer les effets visuels obtenus sur les trois premiers cercles en donnant :

  • lors du tracé du premier cercle : la valeur de la variable etape, la couleur et le rayon du cercle qu'on affiche avec circle().
  • lors du tracé du deuxième cercle : la valeur de la variable etape, la couleur et le rayon du cercle qu'on affiche avec circle().
  • lors du tracé du troisième cercle : la valeur de la variable etape, la couleur et le rayon du cercle qu'on affiche avec circle().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
from turtle import * pensize(5) couleur1 = "#FF0000" couleur2 = "#0000FF" # Premier cercle etape = 1 pencolor(couleur1) circle(etape*30, 360) # Deuxième cercle etape = etape + 1 pencolor(couleur2) circle(etape*30, 360) # Troisième cercle etape = etape + 1 pencolor(couleur1) circle(etape*30, 360) # Quatrième cercle etape = etape + 1 pencolor(couleur2) circle(etape*30, 360) # Cinquième cercle etape = etape + 1 pencolor(couleur1) circle(etape*30, 360) # Sixième cercle etape = etape + 1 pencolor(couleur2) circle(etape*30, 360)

✎ 13° Expliquer pourquoi on obtient cette fois uniquement des demi-cercles.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
from turtle import * pensize(5) couleur1 = "#FF0000" couleur2 = "#0000FF" # Premier demi-cercle etape = 1 pencolor(couleur1) circle(etape*30, 180) # Deuxième demi-cercle etape = etape + 1 pencolor(couleur2) circle(etape*30, 180) # Troisième demi-cercle etape = etape + 1 pencolor(couleur1) circle(etape*30, 180) # Quatrième demi-cercle etape = etape + 1 pencolor(couleur2) circle(etape*30, 180) # Cinquième demi-cercle etape = etape + 1 pencolor(couleur1) circle(etape*30, 180) # Sixième demi-cercle etape = etape + 1 pencolor(couleur2) circle(etape*30, 180)

4 - Condition, première rencontre

Instruction conditionnelle avec if elif

En Python, on peut demander de faire certaines choses sous condition. La première condition est exprimée derrière le mot if. On doit placer derrière ce mot-clé une expression qui sera évaluée comme un booléen (True ou False).

Les instructions à effectuer sous cette condition sont décalées de 4 espaces.

On peut placer des conditions supplémentaires en utilisant elif qui veut dire "sinon si".

⚙ 14° Donner les lignes que va exécuter Python sur ce programme. Cette fois, certaines ne seront pas exécutées à cause de la condition. Que va contenir appreciation à la fin du programme ?

1 2 3 4 5 6 7
note = 12 appreciation = "bof" if note > 13 : appreciation = "bien" elif note < 8 : appreciation = "pas bien" print(appreciation)

...CORRECTION...

D'abord la ligne 1 puis la ligne 2.

Ensuite, on va en ligne 3 pour tester la condition. Elle est évaluée à False puisque la note n'est pas

1 2 3 4 5
note1 = 20 note2 = 14 moyenne = (note1 + note2) / 2 print(moyenne)
Instruction conditionnelle avec if elif else

On peut encore faire mieux : on peut placer un else généraliste qui veut dire : si aucune des possibilités précédentes n’est vraie, fait ces dernières actions qu'on propose.

⚙ 15° A vous de deviner ce que va contenir autorisation au fur et à mesure du programme :

1 2 3 4 5 6
recu = "1234" mdp = "12345" if recu == mdp: autorisation = True else: autorisation = False

⚙ 16° On remarquera qu’on aurait pu faire plus simple en réalité. Expliquer ce que contient autorisation ci-dessous. La variable recu contient le mot de passe reçu. La variable mdp contient le vrai mot de passe attendu.

1 2 3
recu = "1234" mdp = "12345" autorisation = recu == mdp

5 - FAQ

Pas de question pour le moment

Activité publiée le 27 11 2023
Dernière modification : 27 11 2023
Auteur : ows. h.