Skip to content
Snippets Groups Projects
Commit fe641803 authored by Edoardo Basilico (EDU-GE)'s avatar Edoardo Basilico (EDU-GE)
Browse files

Explication avant exercice 3 du principe d'aiguillage

parent 657b199b
Branches
No related tags found
No related merge requests found
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<div style="padding:20px;background-color:papayawhip;" > <div style="padding:20px;background-color:papayawhip;" >
<h3 style="color:chocolate"> <i class="fa fa-info" aria-hidden="true"> </i> &nbsp; Remarque introductive &nbsp; <i class="fa fa-info" aria-hidden="true"></h3> <h3 style="color:chocolate"> <i class="fa fa-info" aria-hidden="true"> </i> &nbsp; Remarque introductive &nbsp; <i class="fa fa-info" aria-hidden="true"></h3>
<p> Ce fichier est fait pour être lu sur le site <a href="https://notebook.basthon.fr/"><img src='https://notebook.basthon.fr/assets/efede5218c9087496f16.png' style="border: 0; display:inline; margin: 0 5px; height:30px" alt="Basthon"/></a>. <br> <p> Ce fichier est fait pour être lu sur le site <a href="https://notebook.basthon.fr/"><img src='https://notebook.basthon.fr/assets/efede5218c9087496f16.png' style="border: 0; display:inline; margin: 0 5px; height:30px" alt="Basthon"/></a>. <br>
Si vous l'avez ouvert avec un autre programme, comme Jupyter notebook, vous riquez de rencontrer quelques bugs. <br> Si vous l'avez ouvert avec un autre programme, comme Jupyter notebook, vous riquez de rencontrer quelques bugs. <br>
Veuillez cliquez sur <a href="https://notebook.basthon.fr/">ce lien</a> et y charger ce fichier à l'aide du bouton "Ouvrir" &nbsp; <i class="fa fa-folder" aria-hidden="true"> </i> Veuillez cliquez sur <a href="https://notebook.basthon.fr/">ce lien</a> et y charger ce fichier à l'aide du bouton "Ouvrir" &nbsp; <i class="fa fa-folder" aria-hidden="true"> </i>
</p> </div> </p> </div>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# 6 - Les Conditions # 6 - Les Conditions
Dans ce chapitre, nous allons voir comment un programme peut faire des choix, et comment il peut exécuter du code de façon sélective. Dans ce chapitre, nous allons voir comment un programme peut faire des choix, et comment il peut exécuter du code de façon sélective.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## I) Comparaisons ## I) Comparaisons
Un programme doit parfois comparer deux valeurs. Un programme doit parfois comparer deux valeurs.
Python connait six types de comparaisons : Python connait six types de comparaisons :
- plus petit (`<`), - plus petit (`<`),
- plus petit ou égal (`<=`), - plus petit ou égal (`<=`),
- égal (`==`), - égal (`==`),
- différent (`!=`), - différent (`!=`),
- plus grand (`>`), - plus grand (`>`),
- plus grand ou égal (`>=`). - plus grand ou égal (`>=`).
Dans des formules mathématiques nous utilisons les symboles ≤, ≥ et ≠. En Python vous devez utiliser deux symboles: `<=`, `>=` et `!=` à la place. Dans des formules mathématiques nous utilisons les symboles ≤, ≥ et ≠. En Python vous devez utiliser deux symboles: `<=`, `>=` et `!=` à la place.
Le résultat d'une comparaison est une valeur **booléenne**, soit `True` soit `False`. Le résultat d'une comparaison est une valeur **booléenne**, soit `True` (vrai) soit `False` (faux).
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 1 </h3>Testez les lignes ci-dessous et ajoutez des exemples avec les autres 5 comparateurs. <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 1 </h3>Testez les lignes ci-dessous et ajoutez des exemples avec les autres 5 comparateurs.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Variable x # Variable x
x = 3 x = 3
print('x =', x) print('x =', x)
# 6 exemples de comparaisons # 6 exemples de comparaisons
print('(x < 2) =', x < 2) print('(x < 2) =', x < 2)
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-question" aria-hidden="true"> </i> &nbsp; Quizz </h3> <h3 style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-question" aria-hidden="true"> </i> &nbsp; Quizz </h3>
L'expression `x == 2` : L'expression `x == 2` :
A) <input type="checkbox" > met la valeur 2 dans la variable x A) <input type="checkbox" > met la valeur 2 dans la variable x
B) <input type="checkbox" > compare deux valeurs B) <input type="checkbox" > compare deux valeurs
C) <input type="checkbox" > affecte la variable x avec une valeur C) <input type="checkbox" > affecte la variable x avec une valeur
D) <input type="checkbox" > retourne True ou False D) <input type="checkbox" > retourne True ou False
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<details> <details>
<summary style="border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8"> <summary style="border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8">
Réponse Réponse
</summary> </summary>
<div style="border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8">D) retourne True ou False <div style="border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8">D) retourne True ou False
</div> </div>
</details> </details>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
!!! warning !!! warning
Il ne faut pas confondre l'opérateur d'affectation (`x = 2`) avec l'opérateur de comparaison (`x == 2`) Il ne faut pas confondre l'opérateur d'affectation (`x = 2`) avec l'opérateur de comparaison (`x == 2`)
!!! !!!
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 2 </h3>Que se passe-t-il si vous échangez les deux éléments dans `x == 2` ? <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 2 </h3>Que se passe-t-il si vous échangez les deux éléments dans `x == 2` ?
Et si vous échangez les deux éléments dans `x = 2` ? Et si vous échangez les deux éléments dans `x = 2` ?
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
x = 2 # affectation x = 2 # affectation
x == 2 # comparaison x == 2 # comparaison
``` ```
%% Cell type:markdown id: tags:breakpoint %% Cell type:markdown id: tags:breakpoint
#### Ctrl+enter pour continuer ........... #### Ctrl+enter pour continuer ...........
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## II) Conditions (`if`) ## II) Conditions (`if`)
Afin d'exécuter du code de façon sélective, on utilise le mot-clé `if`. Afin d'exécuter du code de façon sélective, on utilise le mot-clé `if`.
Nous allons voir que : Nous allons voir que :
- le mot-clé `if` permet une exécution conditionnelle, - le mot-clé `if` permet une exécution conditionnelle,
- le mot-clé `if-else` permet de choisir entre deux alternatives, - le mot-clé `if-else` permet de choisir entre deux alternatives,
- le mot-clé `elif` (else if) permet d'ajouter différentes conditions. - le mot-clé `elif` (else if) permet d'ajouter différentes conditions.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
### Exécution conditionnelle `if` ### Exécution conditionnelle `if`
La structure `if` ci-dessous permet d'exécuter une action seulement si `condition` est `True`. La structure `if` ci-dessous permet d'exécuter une action seulement si `condition` est `True`.
``` python ``` python
if condition: if condition:
action action
``` ```
Dans notre exemple nous affichons "Bravo!" si la valeur entrée est positive. Dans notre exemple nous affichons "Bravo!" si la valeur entrée est positive.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
n = int(input('Entrez un nombre positif: ')) n = int(input('Entrez un nombre positif: '))
if n > 0: if n > 0:
print('Bravo !') print('Bravo !')
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
### Choix binaire `if - else` ### Choix binaire `if - else`
La structure `if - else` ci-dessous permet d'exécuter une **action_1** seulement si une **condition** est vraie et une **action_2** sinon : La structure `if - else` ci-dessous permet d'exécuter une **action_1** seulement si une **condition** est vraie et une **action_2** sinon :
``` python ``` python
if condition: if condition:
action_1 action_1
else: else:
action_2 action_2
``` ```
Dans l'exemple ci-dessous, on affiche si un nombre entré est positif ou négatif : Dans l'exemple ci-dessous, on affiche si un nombre entré est positif ou négatif :
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
n = int(input('Entrez un nombre: ')) n = int(input('Entrez un nombre: '))
if n > 0: if n > 0:
print('positif') print('positif')
else: else:
print('négatif') print('négatif')
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
### Choix multiple (`if - elif - else`) ### Choix multiple (`if - elif - else`)
Le mot-clé `elif` est une contraction de **else if** et permet de continuer à tester d'autres conditions : Le mot-clé `elif` est une contraction de **else if** et permet de continuer à tester d'autres conditions :
``` python ``` python
if condition1 : if condition1 :
action_1 action_1
elif condition2 : elif condition2 :
action_2 action_2
else: else:
action_3 action_3
``` ```
Dans l'exemple ci-dessous, on affiche si un nombre entré est positif, négatif ou nul : Dans l'exemple ci-dessous, on affiche si un nombre entré est positif, négatif ou nul :
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
n = int(input('Entrez un nombre: ')) n = int(input('Entrez un nombre: '))
if n > 0: if n > 0:
print('positif') print('positif')
elif n < 0: elif n < 0:
print('négatif') print('négatif')
else: else:
print('zéro') print('zéro')
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Sans le mot-clé `elif` nous devrions mettre le bloc `if` à l'intérieur du bloc `else` en indentation. Sans le mot-clé `elif` nous devrions mettre le bloc `if` à l'intérieur du bloc `else` en indentation.
Avec multiples conditions, les blocs se décalent de plus en plus et rendent le programme illisible, comme ci-dessous. Avec multiples conditions, les blocs se décalent de plus en plus et rendent le programme illisible, comme ci-dessous.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# !!! Exemple à éviter !!!! # !!! Exemple à éviter !!!!
n = int(input('Entrez un nombre: ')) n = int(input('Entrez un nombre: '))
if n > 0: if n > 0:
print('positif') print('positif')
else: else:
if n < 0: if n < 0:
print('négatif') print('négatif')
else: else:
print('zéro') print('zéro')
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-question" aria-hidden="true"> </i> &nbsp; Quizz </h3> <h3 style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-question" aria-hidden="true"> </i> &nbsp; Quizz </h3>
``` ```
En Python, `if` est suivi En Python, `if` est suivi
A) d'un bloc A) d'un bloc
B) d'une condition B) d'une condition
C) de parenthèses C) de parenthèses
D) d'un deux-points D) d'un deux-points
``` ```
%% Cell type:raw id: tags: %% Cell type:raw id: tags:
Ma réponse : Ma réponse :
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<details> <details>
<summary style="border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8"> <summary style="border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8">
Réponse Réponse
</summary> </summary>
<div style="border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8">B) d'une condition (Et ensuite de D), un deux-points) <div style="border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8">B) d'une condition (Et ensuite de D), un deux-points)
</div> </div>
</details> </details>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## 🚦 Attention aux branchements conditionnels ! 🚦
Lorsqu'on utilise une structure conditionnelle avec `if`, `elif`, `else`, **le programme sort du bloc dès qu'il trouve une condition vraie et que les instructions sous la condition sont exécutée**. C'est comme un **aiguillage de train** :
- Le train (le programme) avance sur la voie principale (le `if`).
- **Si** l'aiguillage (la condition `if`) est activé (vrai), le train dévie immédiatement sur cette voie et **ne teste pas les autres aiguillages** (`elif`, `else`).
- **Sinon**, il continue tout droit vers la prochaine condition `elif`, puis éventuellement jusqu'au `else` s'il n'a trouvé aucun aiguillage actif.
### 🚩 Exemple pour bien comprendre :
```python
x = 10
if x > 5:
print("Condition 1 : x est plus grand que 5")
elif x > 3:
print("Condition 2 : x est plus grand que 3")
else:
print("Condition 3 : aucune des conditions précédentes n'est vraie")
%% Cell type:markdown id: tags:
### ✅ Ce qui se passe :
- `x = 10` La première condition `x > 5` est **vraie**, donc le message de la **Condition 1** s'affiche.
- **Les autres conditions (`elif` et `else`) ne sont pas vérifiées du tout.**
- Ensuite, le programme **poursuit son exécution après le bloc `if - elif - else`**, en continuant avec les instructions suivantes.
### ⚠️ Piège à éviter :
Ne pensez pas que le programme va **tester toutes les conditions** à l'intérieur du bloc. **Dès qu'une condition est vraie, il exécute les instructions associées puis sort du bloc conditionnel**, sans vérifier les autres conditions.
### 🎯 Astuce :
Si vous avez besoin de **tester plusieurs conditions indépendamment**, utilisez plusieurs `if` séparés au lieu de `elif` :
%% Cell type:code id: tags:
``` python
x = 10
if x > 5:
print("x est plus grand que 5")
if x > 3:
print("x est aussi plus grand que 3")
```
%% Output
x est plus grand que 5
x est aussi plus grand que 3
%% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 3 </h3>Écrivez un petit programme qui demande son âge à l'utilisatrice et affiche si elle est mineure ou majeure. <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 3 </h3>Écrivez un petit programme qui demande son âge à l'utilisatrice et affiche si elle est mineure ou majeure.
Rappel : la fonction `int` transforme la réponse textuelle du `input` en nombre entier. Rappel : la fonction `int` transforme la réponse textuelle du `input` en nombre entier.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
age = int(input("Bonjour, quel est votre âge ?")) age = int(input("Bonjour, quel est votre âge ?"))
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 4 </h3>Écrivez un petit programme qui demande à l'utilisateur·ice s'il faut dessiner un triangle, un cercle ou un carré, puis qui fait le bon dessin. <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 4 </h3>Écrivez un petit programme qui demande à l'utilisateur·ice s'il faut dessiner un triangle, un cercle ou un carré, puis qui fait le bon dessin.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
from turtle import * from turtle import *
done() done()
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 5 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 5 </h3>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Définissez une fonction `temperature()` qui prend en paramètre une température entre -20 et 50 et affiche si cette température est : Définissez une fonction `temperature()` qui prend en paramètre une température entre -20 et 50 et affiche si cette température est :
* glaciale * glaciale
* froide * froide
* normale * normale
* chaude * chaude
* bouillante * bouillante
(à vous de choisir les bornes de chaque catégorie) (à vous de choisir les bornes de chaque catégorie)
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
def temperature(t): def temperature(t):
... ...
temp = int(input("Entrez une température entre -20 et 50 : ")) temp = int(input("Entrez une température entre -20 et 50 : "))
temperature(temp) temperature(temp)
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 6 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 6 </h3>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Définissez une fonction `compare` qui prend en paramètres deux nombres `a` et `b`, puis qui dit lequel est le plus grand : Définissez une fonction `compare` qui prend en paramètres deux nombres `a` et `b`, puis qui dit lequel est le plus grand :
- si le premier nombre est plus grand que le deuxième, le programme affichera « Le premier ! » - si le premier nombre est plus grand que le deuxième, le programme affichera « Le premier ! »
- si le deuxième nombre est plus grand que le premier, le programme affichera « Le deuxième ! » - si le deuxième nombre est plus grand que le premier, le programme affichera « Le deuxième ! »
- s'ils sont égaux, le programme affichera « Ils sont égaux. ». - s'ils sont égaux, le programme affichera « Ils sont égaux. ».
Testez-la avec deux nombres de votre choix. Testez-la avec deux nombres de votre choix.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags:breakpoint %% Cell type:markdown id: tags:breakpoint
#### Ctrl+enter pour continuer ........... #### Ctrl+enter pour continuer ...........
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## III) Les opérateurs `and`, `or` et `not` ## III) Les opérateurs `and`, `or` et `not`
En plus des comparateurs, les opérateurs `and`, `or` et `not` permettent de manipuler plusieurs conditions : En plus des comparateurs, les opérateurs `and`, `or` et `not` permettent de manipuler plusieurs conditions :
* `X and Y` Les deux conditions doivent être vraies pour que l'expression soit vraie. * `X and Y` Les deux conditions doivent être vraies pour que l'expression soit vraie.
* `X or Y` Une des deux conditions doit être vraies pour que l'expression soit vraie. * `X or Y` Une des deux conditions doit être vraies pour que l'expression soit vraie.
* `not X` La condition X doit être fausse pour que l'expression soit vraie. * `not X` La condition X doit être fausse pour que l'expression soit vraie.
Testez le code suivant : Testez le code suivant :
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
nombre = 15 nombre = 15
if nombre > 10 and nombre < 20: if nombre > 10 and nombre < 20:
print("Le nombre est entre 10 et 20.") print("Le nombre est entre 10 et 20.")
if nombre == 5 or nombre == 15: if nombre == 5 or nombre == 15:
print("Le nombre est soit 15 soit 20.") print("Le nombre est soit 15 soit 20.")
if not nombre > 15: if not nombre > 15:
print("Le nombre n'est pas supérieur à 15.") print("Le nombre n'est pas supérieur à 15.")
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h6 style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-warning" aria-hidden="true"> </i> &nbsp; Note </h6> <h6 style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-warning" aria-hidden="true"> </i> &nbsp; Note </h6>
En python, pour le premier cas : En python, pour le premier cas :
``` python ``` python
if nombre > 10 and nombre < 20: if nombre > 10 and nombre < 20:
print("Le nombre est entre 10 et 20.") print("Le nombre est entre 10 et 20.")
``` ```
on peut aussi écrire : on peut aussi écrire :
``` python ``` python
if 10 < nombre < 20: if 10 < nombre < 20:
print("Le nombre est entre 10 et 20.") print("Le nombre est entre 10 et 20.")
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 7 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 7 </h3>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Écrire un code qui traduit chacune des situations ci-après. Chaque programme commence par créer une variable pour chaque âge. Écrire un code qui traduit chacune des situations ci-après. Chaque programme commence par créer une variable pour chaque âge.
**Situation 1 :** Si Camille est plus âgée qu’Antoinette ou que Bernard et si Antoinette est plus jeune que Bernard, on affiche l’âge d’Antoinette, mais si Antoinette a le même âge ou est plus âgée que Bernard, on affiche l’âge de Bernard. **Situation 1 :** Si Camille est plus âgée qu’Antoinette ou que Bernard et si Antoinette est plus jeune que Bernard, on affiche l’âge d’Antoinette, mais si Antoinette a le même âge ou est plus âgée que Bernard, on affiche l’âge de Bernard.
Sinon on affiche l’âge de Camille. Sinon on affiche l’âge de Camille.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**Situation 2:** Si Bernard et Camille ont le même âge, on affiche l’âge de la plus jeune des trois personnes. **Situation 2:** Si Bernard et Camille ont le même âge, on affiche l’âge de la plus jeune des trois personnes.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags:breakpoint %% Cell type:markdown id: tags:breakpoint
#### Ctrl+enter pour continuer ........... #### Ctrl+enter pour continuer ...........
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## Exercices récapitulatifs ## Exercices récapitulatifs
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 8 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 8 </h3>
<b style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-warning" aria-hidden="true"> </i> &nbsp; Rappel : L'opérateur modulo (%) calcule le reste de la division entière. En conséquence, x % y vaut 0 quand x est divisible par y. <i class="fa fa-warning" aria-hidden="true"> </i> </b> <b style="color:chocolate;background-color:papayawhip;" > <i class="fa fa-warning" aria-hidden="true"> </i> &nbsp; Rappel : L'opérateur modulo (%) calcule le reste de la division entière. En conséquence, x % y vaut 0 quand x est divisible par y. <i class="fa fa-warning" aria-hidden="true"> </i> </b>
Écrivez un petit programme qui demande à l'utilisateur·ice un nombre et indique s'il est pair (divisible par 2) ou pas. Écrivez un petit programme qui demande à l'utilisateur·ice un nombre et indique s'il est pair (divisible par 2) ou pas.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 9 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 9 </h3>
Corrigez le code suivant : Corrigez le code suivant :
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
age == 18 age == 18
revenu == 25000 revenu == 25000
if age >= 18 if age >= 18
if revenu < 25000 if revenu < 25000
print("Vous êtes éligible à la subvention.") print("Vous êtes éligible à la subvention.")
elif revenu < 26000 elif revenu < 26000
print("Vous êtes presque éligible à la subvention, vous gagnez 1'000.- de trop.") print("Vous êtes presque éligible à la subvention, vous gagnez 1'000.- de trop.")
else: else:
print("Vous n'êtes pas éligible à cause de vos revenus trop élevés.") print("Vous n'êtes pas éligible à cause de vos revenus trop élevés.")
else: else:
if revenu < 25000 if revenu < 25000
print("Vous n'êtes pas éligible à cause de votre âge, mais le seriez si vous étiez majeur·e.") print("Vous n'êtes pas éligible à cause de votre âge, mais le seriez si vous étiez majeur·e.")
else: else:
print("Vous n'êtes pas éligible à cause de vos revenus trop élevés et de votre âge.") print("Vous n'êtes pas éligible à cause de vos revenus trop élevés et de votre âge.")
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 10 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 10 </h3>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Écris une fonction bissextile dont l'argument est une année n, qui dit si cette année est bissextile (c'est-à-dire qu'elle comporte un 29 février). Écris une fonction bissextile dont l'argument est une année n, qui dit si cette année est bissextile (c'est-à-dire qu'elle comporte un 29 février).
Une année est bissextile dans l'un des cas suivants : Une année est bissextile dans l'un des cas suivants :
- c'est un multiple de 4 qui n'est pas un multiple de 100, - c'est un multiple de 4 qui n'est pas un multiple de 100,
- c'est un multiple de 400. - c'est un multiple de 400.
Le programme doit afficher « Année bissextile » ou « Année non bissextile » suivant le cas. Le programme doit afficher « Année bissextile » ou « Année non bissextile » suivant le cas.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 11 - Quizz </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 11 - Quizz </h3>
Créez un quiz avec des questions à choix multiple sur un sujet de culture générale, dans le style des quiz sur le site Kahoot. Créez un quiz avec des questions à choix multiple sur un sujet de culture générale, dans le style des quiz sur le site Kahoot.
- Complétez pour avoir 4 questions - Complétez pour avoir 4 questions
- Ajoutez le calcul du score - Ajoutez le calcul du score
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
print('Quiz sur le thème : ....') print('Quiz sur le thème : ....')
score = 0 score = 0
# Question 1 # Question 1
print() print()
question = "Quel est le nom du cowboy dans Toy Story ?" question = "Quel est le nom du cowboy dans Toy Story ?"
solution = 'Woody' solution = 'Woody'
reponse = input(question) reponse = input(question)
if reponse == solution: if reponse == solution:
... ...
else: else:
... ...
# Question 2 # Question 2
print() print()
... ...
print('Votre score est', ...) print('Votre score est', ...)
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
--- ---
#### Remarque générale #### Remarque générale
Ce document est une adaptation d'un ressource pédagogique tiré du catalogue modulo https://modulo-info.ch/. Il est sous license Creative Commons [BY-NC-SA](https://creativecommons.org/licenses/?lang=fr) Ce document est une adaptation d'un ressource pédagogique tiré du catalogue modulo https://modulo-info.ch/. Il est sous license Creative Commons [BY-NC-SA](https://creativecommons.org/licenses/?lang=fr)
![Licence Creative Commons](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png) ![Licence Creative Commons](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment