Skip to content
Snippets Groups Projects
Commit 92ccd053 authored by SCHIESS Mathieu's avatar SCHIESS Mathieu
Browse files

correction d'une coquille sur le NB conditions 1

parent 2aa895d6
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, partie 1 # 6 - Les Conditions, partie 1
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.
<blockquote class="alert alert-info" style="background-color:rgb(220,240,255); margin:10px 10%;"> <blockquote class="alert alert-info" style="background-color:rgb(220,240,255); margin:10px 10%;">
<p><span style="font-size:1.5em"></span> C'est quoi une instruction conditionnelle? Exécutez la cellule ci-dessous pour voir une petite introduction sur la notion de type d'instruction conditionnelle</p> <p><span style="font-size:1.5em"></span> C'est quoi une instruction conditionnelle? Exécutez la cellule ci-dessous pour voir une petite introduction sur la notion de type d'instruction conditionnelle</p>
</blockquote> </blockquote>
<iframe width="560" height="315" src="https://www.youtube.com/embed/c0cm031r_eo?si=Apy9aC8a9HoHcHfv" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> <iframe width="560" height="315" src="https://www.youtube.com/embed/c0cm031r_eo?si=Apy9aC8a9HoHcHfv" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
%% 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` (vrai) soit `False` (faux). Le résultat d'une comparaison est une valeur **booléenne**, soit `True` (vrai) soit `False` (faux).
**Remarque** Il est impossible de comparer des données de différentes nature (par exemple une chaîne de caractère avec un nombre) **Remarque** Il est impossible de comparer des données de différentes nature (par exemple une chaîne de caractère avec un nombre)
%% 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>
Qu'affiche le programme suivant Qu'affiche le programme suivant
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
print("10" > 2) print("10" > 2)
``` ```
%% 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"> Une erreur car il est impossible de comparer la chaîne de caractère "10" (type str) avec le nombre 2 (type int). <div style="border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8"> Une erreur car il est impossible de comparer la chaîne de caractère "10" (type str) avec le nombre 2 (type int).
</div> </div>
</details> </details>
%% 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 2 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 2 </h3>
1. Remplace les `...` de chaque commentaire avec la valeur qui devrait être affichée. 1. Remplace les `...` de chaque commentaire avec la valeur qui devrait être affichée.
*Indication: chaque print affiche un `bool` : `True` ou `False`* *Indication: chaque print affiche un `bool` : `True` ou `False`*
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
a = 5 a = 5
b = 18 b = 18
c = 12.3 c = 12.3
mot1="Hello" mot1="Hello"
mot2="World" mot2="World"
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(a > b) print(a > b)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(b//a == 3) print(b//a == 3)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(b%a == 3) print(b%a == 3)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(a - b > 2) print(a - b > 2)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(type(c) == float) print(type(c) == float)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(mot1 != mot2) print(mot1 != mot2)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(mot1 < mot2) print(mot1 < mot2)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print(mot1 > 2) print(mot1 > 2)
# L'instruction suivante va afficher ... # L'instruction suivante va afficher ...
print("a" > "b") print("a" > "b")
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
2. Exécute le programme ci-dessus et corrige, si besoin, les commentaires afin qu'ils correspondent aux valeurs affichées 2. Exécute le programme ci-dessus et corrige, si besoin, les commentaires afin qu'ils correspondent aux valeurs affichées
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 2 </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 2 </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: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>
Que se passe-t-il si vous échangez les deux éléments dans `x == 2` ? 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` ?
Essayer pour voir... Essayer pour voir...
%% 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: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">Si on écrit 2 = x à la place de x = 2 il y aura une erreur car on ne peut affecter x à 2. Dans l'autre cas, c'est égal de tester si x est égal à 2 (x==2) ou de tester si 2 est égal à x (2==x) <div style="border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8">Si on écrit 2 = x à la place de x = 2 il y aura une erreur car on ne peut affecter x à 2. Dans l'autre cas, c'est égal de tester si x est égal à 2 (x==2) ou de tester si 2 est égal à x (2==x)
</div> </div>
</details> </details>
%% 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
``` ```
#### Exemple #### Exemple
Le programme suivant demande la moyenne générale obtenue au premier semestre est affiche `Bravo, tu peux faire un extra-muros!")` si la moyenne est supérieure ou égale à 5.3. Le programme suivant demande la moyenne générale obtenue au premier semestre est affiche `Bravo, tu peux faire un extra-muros!")` si la moyenne est supérieure ou égale à 5.3.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
n = float(input("Quelle est ta moyenne générale au premier semestre: ")) n = float(input("Quelle est ta moyenne générale au premier semestre: "))
if n >= 5.3 : if n >= 5.3 :
print("Bravo, tu peux faire un extra-muros!") print("Bravo, tu peux faire un extra-muros!")
``` ```
%% 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) <input type="checkbox" > d'un bloc A) <input type="checkbox" > d'un bloc
B) <input type="checkbox" > d'une condition B) <input type="checkbox" > d'une condition
C) <input type="checkbox" > de parenthèses C) <input type="checkbox" > de parenthèses
D) <input type="checkbox" > d'un deux-points D) <input type="checkbox" > d'un deux-points
%% 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:
### 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
``` ```
#### Exemple 1 #### Exemple 1
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:
<h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 3 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 3 </h3>
1. Complètez le programme ci-dessous qui affiche `C'est un triangle rectancle` ou `Ce n'est pas un triangle rectancle` en fonction des longeurs des côtés du triangle rentré. 1. Complètez le programme ci-dessous qui affiche `C'est un triangle rectancle` ou `Ce n'est pas un triangle rectancle` en fonction des longeurs des côtés du triangle rentré.
2. Testez votre programme pour vérifier si le triangle où a=9, b=12 et c= 15 est un triangle rectangle. 2. Testez votre programme pour vérifier si le triangle où a=9, b=12 et c= 15 est un triangle rectangle.
*Rappel : Selon la réciproque du théorème de Pythagore, un triangle de longeur $a$, $b$ et $c$ ($c$ le plus grand côté) est rectangle si $a^2+b^2=c^2$* *Rappel : Selon la réciproque du théorème de Pythagore, un triangle de longeur $a$, $b$ et $c$ ($c$ le plus grand côté) est rectangle si $a^2+b^2=c^2$*
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
a = float(input("La longeur du côté a vaut : ")) a = float(input("La longeur du côté a vaut : "))
b = float(input("La longeur du côté b vaut : ")) b = float(input("La longeur du côté b vaut : "))
c = float(input("La longeur du côté c vaut : ")) c = float(input("La longeur du côté c vaut : "))
if ... : if ... :
print("...") print("...")
else: else:
print("...") print("...")
``` ```
%% Cell type:raw id: tags: %% Cell type:raw id: tags:
Le triangle où a=9, b=12 et c= 15 est-il un triangle rectangle? Le triangle où a=9, b=12 et c= 15 est-il un triangle rectangle?
Réponse : Réponse :
%% 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> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 4 </h3>
Complétez le programme qui demande son âge à l'utilisatrice et affiche `vous êtes majeure` si elle est mineure ou `vous êtes mineure` dans le cas contraire. Complétez le programme qui demande son âge à l'utilisatrice et affiche `vous êtes majeure` si elle est mineure ou `vous êtes mineure` dans le cas contraire.
*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: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:
### 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: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>
Pour chacun des programme: Pour chacun des programme:
1. Sans exécuter les programme, donnez la valeur des variables demandées. 1. Sans exécuter les programme, donnez la valeur des variables demandées.
2. Vérifier votre réponse en ajoutant un print à la fin des programmes et en les éxecutants. 2. Vérifier votre réponse en ajoutant un print à la fin des programmes et en les éxecutants.
**Programme A** **Programme A**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Programme A # Programme A
a = 7 a = 7
b = 12 b = 12
if a > 5: if a > 5:
b = b - 4 b = b - 4
if b >= 8: if b >= 8:
b = b + 1 b = b + 1
``` ```
%% Cell type:raw id: tags: %% Cell type:raw id: tags:
La variable b vaut : La variable b vaut :
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**Programme B** **Programme B**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Programme B # Programme B
a = 7 a = 7
b = 12 b = 12
if a > 5: if a > 5:
b = b - 4 b = b - 4
elif b >= 8: elif b >= 8:
b = b + 1 b = b + 1
``` ```
%% Cell type:raw id: tags: %% Cell type:raw id: tags:
La variable b vaut : La variable b vaut :
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**Programme C** **Programme C**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Programme C # Programme C
a = 7 a = 7
b = 12 b = 12
if a > 5: if a > 5:
b = b - 4 b = b - 4
else: else:
b = b + 1 b = b + 1
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
La variable b vaut : La variable b vaut :
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**Programme D** **Programme D**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Programme D # Programme D
a = 10 a = 10
if a < 5: if a < 5:
a = 20 a = 20
elif a < 100: elif a < 100:
a = 500 a = 500
else: else:
a = 0 a = 0
``` ```
%% Cell type:raw id: tags: %% Cell type:raw id: tags:
La variable a vaut : La variable a vaut :
%% 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>
Les programmes suivants sont-ils valides (on ne demande pas ce qu’ils font) ? S’ils sont invalides, corrigez les. Les programmes suivants sont-ils valides (on ne demande pas ce qu’ils font) ? S’ils sont invalides, corrigez les.
**Programme A** **Programme A**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
a = 10 a = 10
if a == 5: if a == 5:
a = 2 a = 2
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**Programme B** **Programme B**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
a = 10 a = 10
elif a == 5: elif a == 5:
a = 2 a = 2
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**Programme C** **Programme C**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
a = 10 a = 10
if a = 5: if a = 5:
a == 2 a == 2
``` ```
%% 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>
1. Complétez le programme ci-dessous qui demande à l'utilisateur·ice les coefficients d'une équation du second degré $ax^2+bx+c=0$ et qui affiche les solutions. 1. Complétez le programme ci-dessous qui demande à l'utilisateur·ice les coefficients d'une équation du second degré $ax^2+bx+c=0$ et qui affiche les solutions.
2. Testez votre programme sur les équations $5x^2-5x-15=0$, $5x^2-5x+15=0$ et $10x^2-20x+10=0$. 2. Testez votre programme sur les équations $5x^2-5x-15=0$, $5x^2-5x+15=0$ et $10x^2-20x+10=0$.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
!!! info utiliser des fonctions mathématiques comme la fonction racine carrée $\sqrt{x}$. !!! info utiliser des fonctions mathématiques comme la fonction racine carrée $\sqrt{x}$.
Pour calculer la racine carrée d'un nombre $\sqrt{x}$, il faut utiliser la fonction `sqrt` du module `math`. Pour ce faire, votre programme doit commencer par `from math import sqrt` (pour importer la fonction `sqrt` du module `math`). Pour l'utiliser, il suffit de mettre la valeur dont on veut trouver la racine en argument de la fonction `sqrt`. Par exemple, l'instruction `print(sqrt(25))` affichera 5. Pour calculer la racine carrée d'un nombre $\sqrt{x}$, il faut utiliser la fonction `sqrt` du module `math`. Pour ce faire, votre programme doit commencer par `from math import sqrt` (pour importer la fonction `sqrt` du module `math`). Pour l'utiliser, il suffit de mettre la valeur dont on veut trouver la racine en argument de la fonction `sqrt`. Par exemple, l'instruction `print(sqrt(25))` affichera 5.
!!! !!!
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
a = ...(input("Entrer le coefficient a = ")) a = ...(input("Entrer le coefficient a = "))
b = ...(input("Entrer le coefficient a = ")) b = ...(input("Entrer le coefficient b = "))
c = ...(input("Entrer le coefficient a = ")) c = ...(input("Entrer le coefficient c = "))
delta = ... delta = ...
if ... : if ... :
x1 = ... x1 = ...
x2 = ... x2 = ...
print("Deux solutions, x1= ",x1, "; x2 = ", x2) print("Deux solutions, x1= ",x1, "; x2 = ", x2)
elif ... : elif ... :
x = ... x = ...
print("...") print("...")
else : else :
print("...") print("...")
``` ```
%% Cell type:raw id: tags: %% Cell type:raw id: tags:
Quel est l'ensemble des solution de 5x²-5x-15=0? Quel est l'ensemble des solution de 5x²-5x-15=0?
Réponse: S = ... Réponse: S = ...
Quel est l'ensemble des solution de 5x²+5x+15=0=0? Quel est l'ensemble des solution de 5x²+5x+15=0=0?
Réponse: S = ... Réponse: S = ...
Quel est l'ensemble des solution de 10x²-20x+10=0? Quel est l'ensemble des solution de 10x²-20x+10=0?
Réponse: S = ... Réponse: S = ...
%% 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>
Écrivez un programme qui demande à l'utilisateur·ice s'il faut dessiner un triangle, un cercle ou un carré de dimension 100, puis qui fait le bon dessin. Écrivez un programme qui demande à l'utilisateur·ice s'il faut dessiner un triangle, un cercle ou un carré de dimension 100, 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 9 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 9 </h3>
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 10 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 10 </h3>
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
# programme à compléter # programme à compléter
``` ```
%% 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 </h3> <h3 style="color:teal;background-color:azure;" > <i class="fa fa-pencil" aria-hidden="true"> </i> &nbsp; Exercice 11 </h3>
Corrigez le programme suivant : Corrigez le programme 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.")
``` ```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment