Aller au contenu principal

Le langage Python

Introduction

Objectif

Ce tutoriel a pour objectif de vous introduire la programmation en langage Python.

Préparation

Python est un langage interprété. Pour cette raison, un programme écrit en Python n'est pas autonome et ne fonctionne qu'en utilisant un logiciel capable de l'interpréter. Ce logiciel, ou interpréteur, lira et exécutera chaque instruction de votre programme.

Important

Il existe plusieurs interpréteurs Python. Dans le cadre de ces travaux pratiques, il est recommandé d'utiliser Basthon. Vous êtes libres d'utiliser tout autre logiciel si celui-ci est déjà présent sur votre ordinateur.

Basthon

Basthon est un environnement de développement Python accessible sur le Web. C'est le moyen le plus simple et rapide de disposer d'un interpréteur Python. Vous devez cependant disposer d'une connexion Internet.

  1. Se rendre sur la page https://console.basthon.fr
Basthon
Explication
  • La zone de saisie de droite correspond au mode interactif (aussi appelé console).
    Le principe est de saisir une instruction Python qui sera interprétée immédiatement après avoir appuyé sur entrée.
  • La zone de saisie de gauche correspond au mode programme Le principe est de saisir l'ensemble des instructions d'un programme et de lancer ce dernier en cliquant sur le bouton Exécuter

Premiers pas

1. Calculatrice

Attention

Pour commencer, vous allez utiliser l'interpréteur Python comme une calculatrice. Pour cela, rendez-vous sur Basthon et préparez-vous à écrire dans la console (zone de saisie de droite).

Les trois chevrons >>>, appelés invite de commandes, indiquent que l'interpréteur Python attend des instructions. Il ne faut pas les recopier !

La console

  • Saisir la valeur 2 et appuyer sur entrée.
  • Saisir l'expression 2 + 2 et appuyer sur entrée.
  • Saisir l'expression 2.5 + 2.5 et appuyer sur entrée.
  • Vous devez obtenir l'affichage ci-dessous :
>>> 2
2
>>> 2 + 2
4
>>> 2.5 + 2.5
5.0
Explication

Lorsqu'on soumet une expression à l'interpréteur Python, celui-ci l'évalue et affiche sa valeur. Il attend ensuite une nouvelle instruction de la part de l'utilisateur.

Les expressions

Tester dans la console, une expression Python correspondant à chacune des descriptions suivantes :

  • Une addition entre une valeur entière et une valeur décimale (aussi appelée flottant)
  • Une soustraction (opérateur -)
  • Une multiplication (opérateur *)
  • Une division (opérateur /)
  • Une puissance (opérateur **, exemple 5**2)
  • Une division euclidienne aussi appelée division entière (opérateur //, voir principe ci-dessous)
  • Un reste de division aussi appelé modulo (opérateur %, voir principe ci-dessous)
Division

Les variables

Principe

Une variable est un emplacement mémoire nommé dans lequel il est possible de stocker toute valeur. L'opération consistant à stocker une valeur au sein d'une variable s'appelle une affectation. Celle-ci s'effectue en utilisant l'opérateur =.

👍 Exemple
>>> a = 10
>>> a
10
>>> carre = a ** 2
>>> carre
100
  1. Affectation de la valeur 10 à la variable a
  2. Accès à la valeur de la variable a en écrivant simplement son nom
  3. Affectation de la valeur de l'expression a ** 2 à la variable carre
    Ce que fait Python : a ** 210 ** 2100 → Affectation de la valeur 100 à la variable carre
  4. Accès à la valeur de la variable carre

Nous souhaitons calculer la moyenne de notes sur 20. Pour cela, effectuez les opérations décrites ci-dessous dans la console Python :

  1. Affecter à la variable total, le résultat du calcul : 15+18,5+1215 + 18,5 + 12
  2. Affecter à la variable nb_notes, le nombre de notes
  3. Affecter à la variable moyenne, le total divisé par le nombre de notes
  4. Afficher le résultat en écrivant simplement le nom de la variable contenant le résultat du calcul de la moyenne
💡 Solution
>>> total = 15 + 18.5 + 12
>>> nb_notes = 3
>>> moyenne = total / nb_notes
>>> moyenne
15.166666666666666

2. Calcul de l'âge

Attention

Vous allez maintenant utiliser l'interpréteur Python en mode programme.
Pour cela, rendez-vous sur Basthon et préparez-vous à saisir du code dans l'éditeur, c'est-à-dire la zone de saisie de gauche.

Les chaînes de caractères

Principe

En programmation, la représentation d'une valeur textuelle est appelée chaîne de caractères (string en anglais). Celle-ci se définit par du texte délimité par le caractère " (ou ').

"Ceci est une chaîne de caractères"

Copier/coller le code à trous ci-dessous dans l'éditeur :

prenom = ...
phrase = "Bonjour " + prenom + " ! Comment allez-vous ?"
print(phrase)

Compléter le code en remplaçant uniquement le ... par une chaîne de caractères de votre prénom.

💡 Solution
prenom = "Ginette"
phrase = "Bonjour " + prenom + " ! Comment allez-vous ?"
print(phrase)
Explication
  • L'opérateur + est utilisé pour assembler des chaînes de caractères. Cette opération est appelée concaténation.
  • La fonction print permet l'affichage d'une valeur dans la console.

Demande de saisie

Remplacer le code de l'éditeur par le code ci-dessous et exécutez-le :

prenom = input("Saisir votre prénom : ")
phrase = "Bonjour " + prenom + " ! Comment allez-vous ?"
print(phrase)
Explication

La fonction input permet de demander à l'utilisateur de saisir une chaîne de caractères. La saisie s'effectue dans la console (zone de saisie de droite). Il suffit de saisir votre réponse et d'appuyer sur entrée.

Basthon

Calculateur d'âge

Exécuter le code ci-dessous en remplaçant au préalable UNIQUEMENT les ... par les variables Python adéquates :

prenom = input("Saisir votre prénom : ")
annee_naissance = int(input("Votre annee de naissance : "))
age = 2023 - ...

phrase = "Bonjour " + prenom + " ! Vous avez " + str(...) + " ans."
print(phrase)
Explication
  • La fonction input renvoie toujours une chaîne de caractères.
  • La fonction int permet la conversion de la valeur renvoyée par input en un nombre entier.
  • La fonction str permet la conversion d'une valeur numérique en une chaîne de caractères.
💡 Solution
prenom = input("Saisir votre prénom : ")
annee_naissance = int(input("Votre annee de naissance : "))
age = 2023 - annee_naissance

phrase = "Bonjour " + prenom + " ! Vous avez " + str(age) + " ans."
print(phrase)

3. Table de multiplication

Les boucles

Remplacer le code de l'éditeur par le code ci-dessous et exécutez-le :

print("Avant la boucle")

for n in range(10):
print("n vaut " + str(n) + " et son double vaut " + str(n*2))

print("Après la boucle")
Explication
  • L'instruction for n in range(10): est une boucle. Elle permet la répétition d'un bloc de code.
  • Le bloc de code correspond aux instructions << décalées >> vers la droite (on dit indentées) et situées juste en dessous de l'instruction de boucle.
  • Toutes les instructions d'un même bloc doivent avoir la même indentation (utiliser la touche tab et non espace pour indenter)
  • La fonction str permet la conversion de la valeur de n en une chaîne de caractère afin de pouvoir la concaténer.

Affichage d'une table de multiplication

En utilisant une boucle, écrire le code Python permettant d'obtenir l'affichage suivant :

8 x 0 = 0
8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
8 x 9 = 72
8 x 10 = 80
💡 Aide

Exécuter le code ci-dessous en remplaçant au préalable uniquement les ... par les expressions Python adéquates :

for i in range(...):
print("8 x " + str(...) + " = " + str(...))

Turtle

Introduction

Principe

La tortue graphique (ou Turtle) est un module d'initiation à la programmation. Son fonctionnement consiste à réaliser des dessins en déplaçant une tortue virtuelle dotée d'un stylo.

FonctionDescription
forward(n)Avancer la tortue de n pixel
backward(n)Reculer la tortue de n pixel
left(n)Effectuer une rotation de la tortue d'un angle de n degrés vers la gauche (sens antihoraire)
right(n)Effectuer une rotation de la tortue d'un angle de n degrés vers la droite (sens horaire)
goto(x, y)Déplacer la tortue aux coordonnées (x, y)
penup()Lever le crayon
pendown()Baisser le crayon

Vous pouvez consulter la documentation de ces fonctions et en découvrir bien d'autres sur le site officiel de Python : https://docs.python.org/fr/3/library/turtle.html

Expérimentation

  1. Remplacer le code de l'éditeur par le code ci-dessous et exécutez-le
  2. Modifier le code à votre guise pour expérimenter chacune des fonctions
import turtle

# Tracé de démonstration
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)

turtle.penup()
turtle.goto(0, 0)
turtle.left(90)
turtle.pendown()
turtle.backward(100)

# Boucle des événements
# Nécessaire pour activer l'affichage de votre tracé
turtle.mainloop()

Figures géométriques

Écrire le code Python permettant de tracer les figures géométriques suivantes :

  • Un carré
  • Un triangle équilatéral
  • Un pentagone
  • Un carré en utilisant une boucle
  • Un pentagone en utilisant une boucle
  • Un polygone à n sommets