Améliorations et relectures
This commit is contained in:
parent
0d2d74454f
commit
878b016119
12 changed files with 312 additions and 201 deletions
|
|
@ -55,7 +55,7 @@ Vous pouvez utiliser l'interpréteur de python comme une calculatrice. C'est év
|
|||
- Python utilise la notation anglo-saxonne pour les nombres non entiers (c'est à dire un point au lieu d'une virgule) : il écrira `4.5` et non pas `4,5`. Il en va de même lorsque vous écrirez des nombres en Python.
|
||||
- Les symboles `+`, `-`, `*`, `/`... sont appelés **opérateurs** en Python
|
||||
- L'opérateur modulo `%` est souvent utilisé pour savoir si un nombre est multiple d'un autre. Il vaut mieux s'en souvenir. Il permet de calculer le reste de la division euclidienne de deux nombres. Par exemple si on divise 5 par 2 on obtient 2 et il reste 1. 1 est donc notre reste et `5 % 2` nous donnera 1.
|
||||
- Si l'on veut effectuer la division euclidiuenne d'un nombre par un autre, on peut le faire avec l'opérateur `//` qui est différent de `/`. Par exemple `5//2` nous donnera 2, alors que `5/2` nous donnera `2.5`
|
||||
- Si l'on veut effectuer la division euclidienne d'un nombre par un autre, on peut le faire avec l'opérateur `//` qui est différent de `/`. Par exemple `5//2` nous donnera 2, alors que `5/2` nous donnera `2.5`
|
||||
- Les nombres décimaux ont parfois des valeurs approximatives. Il faut être vigilant lorsqu'on les utilise dans des calculs.
|
||||
```
|
||||
|
||||
|
|
@ -135,7 +135,7 @@ Nous allons donc affecter et utiliser nos premières variables.
|
|||
>>> mon_age
|
||||
~~~
|
||||
5.
|
||||
a. Le code suivant calcule le prix TTC d'un article à partir de sont prix hors taxes (45€), en lui ajoutant la TVA. Ecrivez-le dans l'interpréteur. Quel résultat obtenez-vous pour le prix TTC ?
|
||||
a. Le code suivant calcule le prix TTC d'un article à partir de son prix hors taxes (45€), en lui ajoutant la TVA. Écrivez-le dans l'interpréteur. Quel résultat obtenez-vous pour le prix TTC ?
|
||||
~~~python
|
||||
>>> prix_ht = 45
|
||||
>>> tva = 5.5 / 100
|
||||
|
|
@ -145,16 +145,16 @@ Nous allons donc affecter et utiliser nos premières variables.
|
|||
|
||||
b. Modifiez la valeur de `tva` pour qu'elle prenne la valeur de 20%. Quelle valeur a `prix_ttc` ? Pourquoi ?
|
||||
|
||||
c. Recalculez la valeur de `prix_ttc` pour prendre en compte la modification de `tva` (Astuce: vous pouvez utiliser <kbd>↑</kbd> pour retrouver la ligne déjà tapée). donnez la ligne que vous avez réexécutée.
|
||||
c. Recalculez la valeur de `prix_ttc` pour prendre en compte la modification de `tva` (Astuce: vous pouvez utiliser <kbd>↑</kbd> pour retrouver la ligne déjà tapée). Donnez la ligne que vous avez réexécutée.
|
||||
|
||||
d. Donnez l’expression qui permet d’évaluer le prix à payer par le client lorsqu’on lui accorde une réduction de 5% sur le prix **hors taxes**.
|
||||
|
||||
e. Donnez l'expression qui permet d'augmenter la TVA de 1%, quel que soit sont taux actuel.
|
||||
```
|
||||
|
||||
### Les types et la fonction `type`
|
||||
### Les types de données et la fonction `type`
|
||||
|
||||
Les variables peuvent contenir differents types de données. Nous avons surtout vu des nombres jusqu'à maintenant, mais elles peuvent aussi contenir des **chaînes de caractères** ou d'autres types plus complexes. Nous verrons dans un premier temps les plus simples.
|
||||
Les variables peuvent contenir differents types de données. Nous avons surtout vu des nombres jusqu'à maintenant, mais elles peuvent aussi contenir des **chaînes de caractères** ou d'autres types plus complexes. Nous verrons dans un premier temps les plus courants.
|
||||
|
||||
```admonish success title="À retenir"
|
||||
- Python est capable de trouver le type d'une donnée tout seul, et cette variable prend le type souhaité lors de l'affectation. On appelle ça du **typage dynamique**
|
||||
|
|
@ -168,7 +168,7 @@ Les variables peuvent contenir differents types de données. Nous avons surtout
|
|||
4. Affecter la valeur `"<votre prénom>"` à une variable `prenom` et donnez son type.
|
||||
5. Ecrivez `age = '85'` (Attention aux guillemets) dans l'interpréteur. Donnez le type de `age`.
|
||||
6. Ecrivez maintenant `age * 2`. Que se passe-t-il ? comment se comporte l'opérateur `*` lorsqu'il est utilisé avec des chaînes de caractères ?
|
||||
7. Donnez une expression permettant d'affecter le *texte* `'21'` à la variable `mon_age_str` en utilsant uniquement la variable `mon_age` (question 1) et la fonction `str`. Utilisez la fonction type pour vérifier. Qu'en déduisez-vous sur la fonction `str` ?
|
||||
7. En utilisant la variable `mon_age` (question 1) et la fonction `str`, donnez une expression permettant d'affecter le *texte* `'21'` à la variable `mon_age_str`. Utilisez la fonction type pour vérifier. Qu'en déduisez-vous sur la fonction `str` ?
|
||||
8. De même donnez une expression permettant de d'affecter le *nombre* 85 à la variable `age_int` en utilisant uniquement `age` (question 6) et la fonction `int`. Qu'en déduisez-vous sur ce que fait la fonction `int` ?
|
||||
```
|
||||
|
||||
|
|
@ -203,7 +203,7 @@ Il permet d'écrire du texte brut, sans aucune mise en forme, contrairement aux
|
|||
L'une d'entre elles, probablement la plus importante, c'est la **coloration syntaxique** : les mots du code sont colorés de différentes manières pour vous aider à identifier la structure et les mots clés, les variables etc...
|
||||
```
|
||||
|
||||
Dans Thonny, nous allons utiliser l'autre encadré, celui qui s'appelle `<sans nom>` pour l'instant. Nous verrons dans un prochain TP comment travailler avec Visual Studio Code, un logiciel très performant et puissant pour écrire du code. Pour l'instant, gardons les choses simples et continuons avec Thonny. Vous pouvez continuer à utiliser Thonny chez vous également, il comporte le nécessaire pour utiliser Python.
|
||||
Dans Thonny, nous allons utiliser l'autre encadré, au dessus de l'interpréteur, celui qui s'appelle `<sans nom>` pour l'instant. Nous verrons dans un prochain TP comment travailler avec Visual Studio Code, un logiciel très performant et puissant pour écrire du code. Pour l'instant, gardons les choses simples et continuons avec Thonny. Vous pouvez continuer à utiliser Thonny chez vous également, il comporte le nécessaire pour utiliser Python.
|
||||
|
||||
Nous allons donc écrire un premier fichier comportant du code que vous pourrez exécuter autant de fois que nécessaire pour le tester, le modifier etc.
|
||||
|
||||
|
|
@ -315,9 +315,9 @@ Décorticons un peu ce programme.
|
|||
Dans un nouveau fichier que vous appellerez `tp-01-conditions.py`
|
||||
|
||||
1.
|
||||
a. Copiez et exécutez le code de l'exemple ci-dessus. Vérifiez que la phrase `Ma variable vaut 1` s'affiche correctement.
|
||||
b. Au début du programme, nous avons déclaré `ma_variable`. Remplacez cette déclaration pour pouvoir saisir un nombre de manière interactive, avec `input`. Mettez la ligne modifiée dans le compte rendu.
|
||||
c. Réexécutez le programme en testant différentes valeurs (dont `1` pour vérifier qu'il marche toujours comme en a.). Qu'affiche le programme et pourquoi ?
|
||||
1. Copiez et exécutez le code de l'exemple ci-dessus. Vérifiez que la phrase `Ma variable vaut 1` s'affiche correctement.
|
||||
1. Au début du programme, nous avons déclaré `ma_variable`. Remplacez cette déclaration pour pouvoir saisir un nombre de manière interactive, avec `input`. Mettez la ligne modifiée dans le compte rendu.
|
||||
1. Réexécutez le programme en testant différentes valeurs (dont `1` pour vérifier qu'il marche toujours comme en 1.1.). Qu'affiche le programme et pourquoi ?
|
||||
|
||||
2. Maintenant, nous allons essayer d'écrire quelque chose lorsque la condition est respectée mais autre chose quand elle ne l'est pas. Pour cela, nous allons utiliser le mot clé `else` qui signifie "sinon". En faisant ça on pourra avoir un programme qui fera "**Si** ma condition est vraie *alors* je fais ça, **sinon** je fais ça".
|
||||
|
||||
|
|
@ -335,10 +335,6 @@ Dans un nouveau fichier que vous appellerez `tp-01-conditions.py`
|
|||
Nous pouvons enchaîner plusieurs conditions grâce au mot clé `elif` (contraction de de "else if", c'est à dire "sinon, si..."). `elif` s'utilise exactement comme `if` mais doit forcément se trouver après une première condition `if`.
|
||||
|
||||
Modifiez le code précédent en rajoutant le cas des retraités, pour afficher une phrase `Vous êtes en retraite` lorsque la variable `age` est supérieure à 60 (Allez, on y croit !). Mettez ce code dans votre rapport de TP.
|
||||
|
||||
4. **Bonus :** Imaginons maintenant que l'on ait une autre variable, `annees_de_cotisation`. À partir de 60 ans, si on a 40 années de cotisation, on peut prendre la retraite. Sinon, il faut atteindre 40 années de cotisation.
|
||||
|
||||
Nous allons donc devoir rajouter une condition supplémentaire pour les personnes ayant plus de 60 ans, en fonction de la variable `annee_cotisation`. Rajoutez cette variable, et rajoutez une **condition imbriquée** dans la branche qui concerne les plus de 60 ans.
|
||||
```
|
||||
|
||||
```admonish success title='À retenir'
|
||||
|
|
@ -577,4 +573,25 @@ Les portions de code qui se trouvent après des `#` en python sont considérées
|
|||
Mettez le code de votre programme à ce stade dans le compte rendu.
|
||||
1. Ecrivez une nouvelle version de votre boucle, en utilisant `for` cette fois. L'utilisateur aura maximum 10 essais, et s'il dépasse le jeu affichera "Perdu !" avant de s'arrêter.
|
||||
Mettez le code final de votre programme dans le compte rendu.
|
||||
```
|
||||
```
|
||||
|
||||
# Annexes
|
||||
|
||||
## Un petit peu d'anglais
|
||||
|
||||
|Français|Anglais|
|
||||
|--------|-------|
|
||||
|Interpréteur|Interpreter|
|
||||
|Invite de commande|Command prompt|
|
||||
|Opérateur|Operator|
|
||||
|Fonction|Function|
|
||||
|Racine carrée|Square root|
|
||||
|Affecter une variable|Assign a variable|
|
||||
|Sensible à la casse|Case sensitive|
|
||||
|Mot-clé|Keyword|
|
||||
|Mot clé réservé|Reserved keyword|
|
||||
|Typage dynamique|Dynamic typing|
|
||||
|Chaîne de caractères|String|
|
||||
|Chaîne de caractères formatée|Formatted string|
|
||||
|Boucle|Loop|
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue