LYCÉE AUGUSTIN FRESNEL

Programmation en Python

pour découvrir le langage

Instructions

  1. Saisir le code en Python dans la partie gauche ci-dessus.
  2. Cliquer sur le bouton (View the result) pour lancer l’interprétation du code.
  3. Observer les résultats dans la partie droite.

Pour télécharger le code saisi, cliquer sur , puis sur . Vous obtiendrez un fichier zip contenant votre fichier Python.
Plus simplement, vous pouvez aussi effectuer un copier-coller du code.

Les bases du langage Python

Python est un langage de programmation interprété : le code est envoyé à un serveur sur lequel un programme analyse les lignes une par une avant d’effectuer les opérations demandées. Enfin, le résultat est envoyé au navigateur qui l’affiche dans la zone à droite. Si le code contient des erreurs, celles-ci sont décrites avec plus ou moins de précision dans la partie inférieure.

Cliquez sur les onglets ci-dessus pour obtenir quelques éléments de ce langage.

Les commentaires facilent la compréhension du code. Ils sont ignorés par l’interpréteur.

Un commentaire commence par un caractère dièse et se poursuit jusqu’à la fin de la ligne.

Exemples :

# Ceci est un commentaire
n = n + 1   # On incrémente n

Les commentaires permettent également de désactiver temporairement une ou plusieurs lignes de code sans les supprimer totalement. Ceci s’avère particulièrement utile pendant la phase de mise au point du code. Cela permet de voir comment se comporte le code sans les lignes commentées.

Les variables sont des zones de mémoire dans lesquelles les données sont stockées. Leurs noms ne peuvent pas comporter d’accent ni d’espace.

Exemples de noms de variables :

x                   # correct
perimetre           # correct
Perimetre           # correct
périmètre           # incorrect (à cause des accents)
nb_de_repetitions   # correct
nbDeRepetitions     # correct
nb de repetitions   # incorrect (à cause des espaces)
nb-de-repetitions   # incorrect (à cause des traits d’union)
                    # les traits d’union sont interprétés en Python comme des signes moins

Attention ! Python est sensible à la casse. Cela signifie qu’il fait la différence entre majuscules et minuscules. Ainsi, xmin et Xmin désignent deux variables différentes.

Affecter une certaine valeur à une variable constiste à enregistrer cette valeur dans la variable dont le nom est indiqué. Pour cela, on utilise le signe égal.

Exemples d’affectations :

n = 123             # Stocke le nombre entier 123 dans la variable n.
                    # Ce code se lit « n prend la valeur 123 »

n=123               # Donne le même résultat que ci-dessus.
                    # Le fait d’ajouter des espaces de chaque côté du signe
                    # égal n’a pas d’influence sur l’interprétation du code,
                    # mais cela peut rendre le code plus lisible.

x = 123.5           # Permet de stocker le nombre décimal 123,5 dans la variable x.
                    # On notera que la virgule est remplacée par un point.

message = "Salut !" # Permet de stocker la chaîne de caractères « Salut ! »
                    # dans la variable message.
Attention ! n = 123 n’est pas une comparaison. Il ne faut pas confondre cette expression avec n == 123 qui s’écrit avec deux signes égal et qui compare la valeur de n avec 123.

Exemples d’opérations algébriques sur les nombres :

x = 1 + 2*y + 3*y**2  # Calcule 1+2y+3y² puis le stocke dans x.
z = 2/3 - 1/5         # Effectue le calcul et enregistre le résultat sous forme
                      # décimale arrondie dans z.

On pourra noter que les puissances se notent à l’aide de deux astérisques en Python. y3 s’écrit donc y**3

Opérations sur les chaînes de caractères :

message = "Bonjour " + nom  # Permet de concaténer deux chaînes de caractères.
                            # Si la variable nom contient la chaine de caractères
                            # « Paul », alors la variable message contiendra la
                            # chaîne « Bonjour Paul ».

La fonction print permet d’afficher une ou plusieurs valeurs. Quand il y en a plusieurs, il faut les séparer à l’aide de virgules.

Exemples :

print("Bonjour !")   # Affiche le texte Bonjour ! dans la zone des résultats.
print(x,y)           # Affiche la valeur de x suivie de la valeur de y,
                     # avec une espace entre les deux.

x = 2
y = 3
print("[",x,";",y,"]") # Ces trois lignes produisent le résultat suivant : [ 2 ; 3 ]

Pour effectuer des opérations uniquement lorsque certaines conditions sont remplies, on utilise les instructions de test if, elif et else.

Exemple :

if (x < 0):                # Est-ce que x est strictement négatif ?
___print("x est négatif")  # Oui, x est strictement négatif.
elif (x > 0):              # Non, x n’est pas strictement négatif
                           # Est-il strictement positif ?
___print("x est positif")  # Oui, x est strictement positif.
else:                      # x n’est ni strictement négatif, ni strictement positif.
___print("x est nul")      # Par conséquent, x ne peut être que nul.

L’indentation, c’est-à-dire le décalage indiqué par les tirets rouges ___ devant les instructions print s’obtiennent en appuyant une fois sur la touche de tabulation du clavier (située à gauche de la touche A). Il ne faut pas utiliser d’espaces à la place !

Attention à ne pas oublier les deux-points qui terminent les lignes du if, du elif et du else. (elif est la contraction de else if.)

Les instructions if et elif sont suivies d’un test. Les tests sont présentés au point suivant.

Les instructions de test if, elif ou de boucle while sont basées sur des tests. Le résultat d’un test est vrai ou faux, ce qui est codé par True ou False en Python.

Exemples de test :

(a < b)                  # Est-ce que a est strictment inférieur à b ?
(a <= b)                 # Est-ce que a est inférieur ou égal à b ?
(a > b)                  # Est-ce que a est strictment supérieur à b ?
(a >= b)                 # Est-ce que a est supérieur ou égal à b ?
(a == b                  # Est-ce que a et b sont égaux ?
(a != b)                 # Est-ce que a est différent de b ?
(a <= b) and (b <= a+1)  # Est-ce que b est compris dans l’intervalle [a;a+1] ?
(b < a) or (a+1 < b)     # Est-ce que b est en dehors de l’intervalle [a;a+1] ?
print(1 < 2)             # Affiche True
print(2 < 1)             # Affiche False

Pour répéter des opérations un nombre de fois connu à l’avance, on utilise une boucle for.

Exemple 1 :

for i in range(1,6):  # On répète 5 fois la ligne qui suit
___print(i)           # On affiche la valeur de i

Ces deux lignes provoquent l’affichage des chiffres de 1 à 5.

On notera que la boucle fait varier i de 1 à 5 et non pas jusqu’à 6. La dernière valeur d’un range n’est en effet jamais atteinte.

Exemple 2 :


x = 1
for i in range(1,11):  # On répète 10 fois les lignes indentées qui suivent
___x = 2*x             # On double la valeur de x
___print(x)            # On affiche la valeur de x

Le code précédent calcule le 10 premières puissances de 2 : 21, 22,...,210.

Pour répéter des opérations jusqu’à ce qu’une condition soit satisfaite, on utilise une boucle while.

Exemple :

n = 2               # Initialise n à 2
while (n < 100):    # On répète la ligne indentée suivante tant que n reste inférieur à 100
___n = n*3          # On triple la valeur de n
print(n)            # On affiche le résultat

Ce code multiplie 2 par 3 de façon répétée. La première valeur qui atteint ou dépasse 100 est finalement affichée.

Le langage Python possède un nombre limité de fonctions de base. Pour lui ajouter des fonctionnalités, on utilise l’instruction import

Exemple :

import math                    # On importe le module math

y = math.sin(1.52)             # On calcule le sinus de 1,52 radians.
z = math.log(1+math.exp(-3))   # Un autre exemple de calcul

Les instructions d’import sont généralement regroupées dans les premières lignes du code.


import math as M               # On importe le module math avec un nom plus court

y = M.sin(1.52)                # Ces deux lignes sont équivalents à celles de
z = M.log(1+M.exp(-3))         # l’exemple ci-dessus, mais le code est plus court

Dans le module math, on trouve : la constante pi, sqrt(x) (racine carrée de x), exp(x), log(x) (attention ! c’est le logarithme népérien), sin(x), cos(x), arcsin(x), arccos(x), floor(x) (la partie entière), et bien d’autres choses.

Dans le module random, on trouve : random() (nombre aléatoire compris entre 0 et 1)

Pour avoir la liste des modules supportés, cliquez sur le point d’interrogation au dessus de la zone de saisie.

Pour éviter d’avoir à écrire plusieurs fois le même code, on peut le placer dans une fonction.

Exemple :

def f(x):              # On crée une fonction nommée f avec un paramètre x
___return 3*x+2        # On calcule 3x+2 et l’on retourne le résultat

y = f(4)               # On calcule f de 4 que l’on stocke dans y
print(y)               # On affiche le résultat : 64

for i in range (-5,6):
___print(i, f(i))      # On affiche les nombres entiers de -5 à 5
                       # suivis de leurs images par f 

Confondre majuscules et minuscules dans un nom de variable.

Exemple de code erroné :

resultat = 123*7-12
print(Resultat)

Il ne faut pas oublier qu’en Python, resultat et Resultat désignent deux variables différentes.

Confondre = et == entre des valeurs.

= sert à stocker un contenu dans une variable alors que == sert à comparer deux valeurs.

Exemple de code :


if (n=3):    # Code incorrect (ici, on stocke 3 dans n)
if (n==3):   # Code correct (on compare la valeur de n avec 3)

Oublier de fermer une chaine de caractères.

Exemple de code :

print("x vaut",x,"et y vaut,y)   # Code incorrect
print("x vaut",x,"et y vaut",y)  # Code correct

Il faut toujours s’assurer que chaque guillemet ouvrant correspond à un guillement fermant.

Insérer plusieurs espaces au lieu d’utiliser la touche de tabulation dans les structures conditionnelles ou de boucle.

C’est une erreur difficile à repérer. Donc prenez l’habitude d’utiliser la touche de tabulation (située à gauche de la touche A) pour indenter le texte dans ces structures.

Pour aller plus loin

Si vous souhaitez en apprendre davantage sur le langage Python, vous pouvez vous rendre sur le site W3Schools sur lequel vous trouverez de nombreux tutoriels interactifs sur ce langage ainsi que sur de nombreux autres.