Programmer en Python en 2nde

Découverte de Python : la console

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 :

  1. 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.
  2. L'éditeur de texte permet d'écrire un programme constitué de plusieurs instructions et de l'enregistrer sur le disque.
  3. 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.

  1. $504 + 502$
  2. $1038 - 732$
  3. $(184-717)^2$
  4. $61 \times 17^3$
  5. $(61 \times 17)^3$
  6. $((184-717)^2 - 2)^3$
  7. $6 \times(184-717)^2$
  8. $\frac{5}{3}$
  9. $\frac{\frac{1}{2}-\frac{1}{502}}{\frac{5}{3} + 7}$
  10. On dispose de $180$ roses, combien de bouquets de $7$ roses peut-on réaliser et combien de roses nous reste-t-il ?


		
		
  • Corrigé

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