Crédits
Toute la structure html/css/js et une partie du contenu ont été réalisés par Nicolas Buyle-Bodin professeur au lycée Lacassagne, avec l'aide de Jean-Manuel Mény, professeur au lycée de la plaine de l'Ain. Ils ont travaillé pendant plusieurs centaines d'heures pour créer un site de formation à destination des enseignants du secondaire de l'académie de Lyon d'une grande qualité visible sur le portail Mathématiques du site académique. Ils ont eu la gentillesse de placer leur code source sous licence Creative Commons BY-NC-SA Respect de la Paternité - Pas d'utilisation commerciale - Partage des conditions initiales à l'identique..
Nous les en remercions chaleureusement.
L'interface de Pyzo
Pour écrire des programmes en Python
, nous utiliserons l'environnement de programmation Pyzo
où nous exécuterons la version 3 de Python
.
L'installation d'un environnement sur une machine est décrit dans la page [Sources] → [Environnement]
.
Lorsqu'on lance Pyzo
, on obtient une fenêtre composée de trois zone distinctes :
- La console permet de saisir une instruction
Python
après le prompt constitué de trois chevrons >>> ou d'une étiquette In [1]:
. On marque la fin de la saisie avec un retour chariot puis l'interpréteur Python
donne sa réponse en-dessous.
- L'éditeur de texte permet d'écrire un programme constitué de plusieurs instructions et de l'enregistrer sur le disque.
- La barre de menus, permet de dérouler différents menus : nous utiliserons principalement les menus File, Edit et Run. Le menu Run propose différentes formules et les résultats de l'exécution du programme s'affichent dans la console.
Faire des calculs dans la console
Les opérateurs arithmétiques de base sont fournis par Python
.
Opérateurs arithmétiques
+ |
Addition |
- |
Soustraction |
* |
Multiplication |
/ |
Division à valeur réelle (type float ) |
// |
Division à valeur entière (type int ), quotient de la division euclidienne |
% |
Reste de la division euclidienne |
** |
Exponentiation ou Puissance |
( |
Parenthèse ouvrante |
) |
Parenthèse fermante |
La console peut être utilisée comme une calculatrice. On peut changer les ordres de priorité avec les parenthèses. Sur les deux derniers calculs de l'exemple ci-dessous, on peut ainsi vérifier que l'exponentiation est prioritaire sur la multiplication.
In [5]: 5 + 2
Out[5]: 7
In [6]: 5 - 2
Out[6]: 3
In [7]: 5 * 2
Out[7]: 10
In [8]: 5 / 2
Out[8]: 2.5
In [9]: 5 // 2
Out[9]: 2
In [10]: 5 % 2
Out[10]: 1
In [11]: 5 ** 2
Out[11]: 25
In [12]: (1 + 2) ** 2
Out[12]: 9
In [13]: 1 + 2 ** 2
Out[13]: 5
In [14]: 2 * 3 ** 2
Out[14]: 18
In [15]: (2 * 3) ** 2
Out[15]: 36
La console comme calculatrice
Dans ce mini-site, il est possible de saisir puis d'exécuter des instructions en Python
dans le navigateur en utilisant des cadres comme ci-dessous.
Néanmoins, nous testerons tous nos codes Python
dans Pyzo
car le debugger est inactif dans le navigateur, donc il est difficile de repérer ses erreurs.
Pour vous familiariser avec les opérateurs arithmétiques, exécutez les calculs ci-dessous dans la console de Pyzo ou un par un dans la zone d'exécution du code ci-après.
- $504 + 502$
- $1038 - 732$
- $(184-717)^2$
- $61 \times 17^3$
- $(61 \times 17)^3$
- $((184-717)^2 - 2)^3$
- $6 \times(184-717)^2$
- $\frac{5}{3}$
- $\frac{\frac{1}{2}-\frac{1}{502}}{\frac{5}{3} + 7}$
- On dispose de $180$ roses, combien de bouquets de $7$ roses peut-on réaliser et combien de roses nous reste-t-il ?
In [5]: 504 + 502
Out[5]: 1006
In [6]: 1038 - 732
Out[6]: 306
In [7]: (184 - 717) ** 2
Out[7]: 284089
In [8]: 61 * 17 ** 3
Out[8]: 299693
In [9]: (61 * 17) ** 3
Out[9]: 1115157653
In [10]: ((184 - 717)**2 - 2)**3
Out[10]: 22927361665446503
In [11]: 6 * (184 - 717) ** 2
Out[11]: 1704534
In [12]: 5/3
Out[12]: 1.6666666666666667
In [13]: (1/2 - 1/502)/(5/3 + 7)
Out[13]: 0.05746245786086424
In [14]: 180//7 #nombre de bouquets de roses
Out[14]: 25
In [15]: 180%7 #nombre de roses restantes
Out[15]: 5