"source": "n = int(input(\"Quelle est ta moyenne générale au premier semestre\"))\n\nif n >= 5.3 :\n print(\"Bravo, tu peux faire un extra-muros!\")"
"source": "n = float(input(\"Quelle est ta moyenne générale au premier semestre: \"))\n\nif n >= 5.3 :\n print(\"Bravo, tu peux faire un extra-muros!\")"
},
},
{
{
"cell_type": "markdown",
"cell_type": "markdown",
...
@@ -155,10 +155,10 @@
...
@@ -155,10 +155,10 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "n = int(input('Entrez un nombre: '))\n\nif n > 0:\n print('positif')\nelse:\n print('négatif')"
"source": "n = int(input('Entrez un nombre: '))\n\nif n >= 0:\n print('positif')\nelse:\n print('négatif')"
},
},
{
{
"cell_type": "markdown",
"cell_type": "markdown",
...
@@ -169,7 +169,7 @@
...
@@ -169,7 +169,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "a = float(input(\"La longeur du côté a vaut : \"))\nb = float(input(\"La longeur du côté a vaut : \"))\nc = float(input(\"La longeur du côté a vaut : \"))\nif ... :\n print(\"...\")\nelse:\n print(\"...\")"
"source": "a = float(input(\"La longeur du côté a vaut : \"))\nb = float(input(\"La longeur du côté a vaut : \"))\nc = float(input(\"La longeur du côté a vaut : \"))\nif ... :\n print(\"...\")\nelse:\n print(\"...\")"
...
@@ -188,7 +188,7 @@
...
@@ -188,7 +188,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "age = int(input(\"Bonjour, quel est votre âge ?\"))\n\n"
"source": "age = int(input(\"Bonjour, quel est votre âge ?\"))\n\n"
...
@@ -211,7 +211,7 @@
...
@@ -211,7 +211,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "n = int(input('Entrez un nombre: '))\n\nif n > 0:\n print('positif')\nelif n < 0:\n print('négatif')\nelse:\n print('zéro')\n"
"source": "n = int(input('Entrez un nombre: '))\n\nif n > 0:\n print('positif')\nelif n < 0:\n print('négatif')\nelse:\n print('zéro')\n"
...
@@ -225,7 +225,7 @@
...
@@ -225,7 +225,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "# !!! Exemple à éviter !!!!\nn = int(input('Entrez un nombre: '))\n\nif n > 0:\n print('positif')\nelse:\n if n < 0:\n print('négatif')\n else:\n print('zéro')\n"
"source": "# !!! Exemple à éviter !!!!\nn = int(input('Entrez un nombre: '))\n\nif n > 0:\n print('positif')\nelse:\n if n < 0:\n print('négatif')\n else:\n print('zéro')\n"
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "# Programme A\na = 7\nb = 12\nif a > 5:\n b = b - 4\nif b >= 8:\n b = b + 1"
"source": "# Programme A\na = 7\nb = 12\nif a > 5:\n b = b - 4\nif b >= 8:\n b = b + 1"
...
@@ -258,7 +258,7 @@
...
@@ -258,7 +258,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "# Programme B\na = 7\nb = 12\nif a > 5:\n b = b - 4\nelif b >= 8:\n b = b + 1 "
"source": "# Programme B\na = 7\nb = 12\nif a > 5:\n b = b - 4\nelif b >= 8:\n b = b + 1 "
...
@@ -277,7 +277,7 @@
...
@@ -277,7 +277,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "# Programme C\na = 7\nb = 12\nif a > 5:\n b = b - 4\nelse:\n b = b + 1"
"source": "# Programme C\na = 7\nb = 12\nif a > 5:\n b = b - 4\nelse:\n b = b + 1"
...
@@ -286,7 +286,7 @@
...
@@ -286,7 +286,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "La variable b vaut : "
"source": "La variable b vaut : "
...
@@ -300,7 +300,7 @@
...
@@ -300,7 +300,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "# Programme D\na = 10\nif a < 5:\n a = 20\nelif a < 100:\n a = 500\nelse:\n a = 0"
"source": "# Programme D\na = 10\nif a < 5:\n a = 20\nelif a < 100:\n a = 500\nelse:\n a = 0"
...
@@ -319,7 +319,7 @@
...
@@ -319,7 +319,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "a = 10\nif a == 5:\na = 2"
"source": "a = 10\nif a == 5:\na = 2"
...
@@ -333,7 +333,7 @@
...
@@ -333,7 +333,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "a = 10\nelif a == 5:\n a = 2"
"source": "a = 10\nelif a == 5:\n a = 2"
...
@@ -347,7 +347,7 @@
...
@@ -347,7 +347,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "a = 10\nif a = 5:\n a == 2"
"source": "a = 10\nif a = 5:\n a == 2"
...
@@ -366,7 +366,7 @@
...
@@ -366,7 +366,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "a = ...(input(\"Entrer le coefficient a = \"))\nb = ...(input(\"Entrer le coefficient a = \"))\nc = ...(input(\"Entrer le coefficient a = \"))\ndelta = ...\nif ... :\n x1 = ...\n x2 = ...\n print(\"Deux solutions, x1= \",x1, \"; x2 = \", x2)\nelif ... :\n x = ...\n print(\"...\")\nelse :\n print(\"...\")"
"source": "a = ...(input(\"Entrer le coefficient a = \"))\nb = ...(input(\"Entrer le coefficient a = \"))\nc = ...(input(\"Entrer le coefficient a = \"))\ndelta = ...\nif ... :\n x1 = ...\n x2 = ...\n print(\"Deux solutions, x1= \",x1, \"; x2 = \", x2)\nelif ... :\n x = ...\n print(\"...\")\nelse :\n print(\"...\")"
"source": "def temperature(t):\n ...\n \n \n \n \ntemp = int(input(\"Entrez une température entre -20 et 50 : \"))\ntemperature(temp)"
"source": "def temperature(t):\n ...\n \n \n \n \ntemp = int(input(\"Entrez une température entre -20 et 50 : \"))\ntemperature(temp)"
...
@@ -413,7 +413,7 @@
...
@@ -413,7 +413,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "# programme à compléter\n\n\n"
"source": "# programme à compléter\n\n\n"
...
@@ -427,7 +427,7 @@
...
@@ -427,7 +427,7 @@
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
"metadata": {
"metadata": {
"trusted": false
"trusted": true
},
},
"outputs": [],
"outputs": [],
"source": "age == 18\nrevenu == 25000\n\nif age >= 18\nif revenu < 25000\nprint(\"Vous êtes éligible à la subvention.\")\nelif revenu < 26000\nprint(\"Vous êtes presque éligible à la subvention, vous gagnez 1'000.- de trop.\")\nelse:\nprint(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés.\")\nelse:\nif revenu < 25000\nprint(\"Vous n'êtes pas éligible à cause de votre âge, mais le seriez si vous étiez majeur·e.\")\nelse:\nprint(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés et de votre âge.\")\n \n"
"source": "age == 18\nrevenu == 25000\n\nif age >= 18\nif revenu < 25000\nprint(\"Vous êtes éligible à la subvention.\")\nelif revenu < 26000\nprint(\"Vous êtes presque éligible à la subvention, vous gagnez 1'000.- de trop.\")\nelse:\nprint(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés.\")\nelse:\nif revenu < 25000\nprint(\"Vous n'êtes pas éligible à cause de votre âge, mais le seriez si vous étiez majeur·e.\")\nelse:\nprint(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés et de votre âge.\")\n \n"
<p> Ce fichier est fait pour être lu sur le site <ahref="https://notebook.basthon.fr/"><imgsrc='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 <ahref="https://notebook.basthon.fr/"><imgsrc='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 <ahref="https://notebook.basthon.fr/">ce lien</a> et y charger ce fichier à l'aide du bouton "Ouvrir" <iclass="fa fa-folder"aria-hidden="true"></i>
Veuillez cliquez sur <ahref="https://notebook.basthon.fr/">ce lien</a> et y charger ce fichier à l'aide du bouton "Ouvrir" <iclass="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.
<p><spanstyle="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><spanstyle="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>
<iframewidth="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>
<iframewidth="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)
<divstyle="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).
<divstyle="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).
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("a">"b")
# L'instruction suivante va afficher ...
print(mot1>2)
print(mot1>2)
# L'instruction suivante va afficher ...
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
<h3style="color:teal;background-color:azure;"><iclass="fa fa-pencil"aria-hidden="true"></i> Exercice 2 </h3>Testez les lignes ci-dessous et ajoutez des exemples avec les autres 5 comparateurs.
<h3style="color:teal;background-color:azure;"><iclass="fa fa-pencil"aria-hidden="true"></i> Exercice 2 </h3>Testez les lignes ci-dessous et ajoutez des exemples avec les autres 5 comparateurs.
<divstyle="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)
<divstyle="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
ifcondition:
ifcondition:
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=int(input("Quelle est ta moyenne générale au premier semestre"))
n=float(input("Quelle est ta moyenne générale au premier semestre: "))
<divstyle="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)
<divstyle="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
ifcondition:
ifcondition:
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 :
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é a vaut : "))
b=float(input("La longeur du côté a vaut : "))
c=float(input("La longeur du côté a vaut : "))
c=float(input("La longeur du côté a 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?
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
ifcondition1:
ifcondition1:
action_1
action_1
elifcondition2:
elifcondition2:
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: '))
ifn>0:
ifn>0:
print('positif')
print('positif')
elifn<0:
elifn<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.
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 a = "))
c=...(input("Entrer le coefficient a = "))
c=...(input("Entrer le coefficient a = "))
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?
É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.