Programmation en Python
Instructions
- Saisir le code en Python dans la partie gauche ci-dessus.
- Cliquer sur le bouton (View the result) pour lancer l’interprétation du code.
- 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
Le 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. À la fin, 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.
Commentaires
Les commentaires facilitent 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 :
Les commentaires permettent également de désactiver temporairement une ou plusieurs lignes de code sans les supprimer totalement (pour le cas où l’on aurait besoin de les réutiliser). 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.
Variables
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 :
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.
Par ailleurs, un certain nombre de mots sont réservés en Python et ne peuvent donc pas être utilisés comme noms de variables. Il s’agit des mots clés suivants :
Affectation de valeurs
Affecter une certaine valeur à une variable consiste à enregistrer cette valeur dans la variable dont le nom est indiqué. Pour cela, on utilise le signe égal.
Exemples d’affectations :
Attention !
n = 123 n’est pas une comparaison mais une affectation. Il ne faut donc pas confondre cette expression avec n == 123 qui s’écrit avec deux signes égal et qui compare effectivement la valeur de n avec 123.
Opérations sur les données
Exemples d’opérations algébriques sur les nombres :
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 :
Affichage des résultats
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 :
Indentation
L’indentation est utilisée en Python pour délimiter un bloc de code tel que ceux qui suivent un if, un for, un while ou un def.
Cette indentation apparait sous la forme d’un décalage du code vers la droite.
Il s’obtient en appuyant une fois sur la touche de tabulation du clavier (celle avec une double flèche, située à gauche de la touche A). Ne pas utiliser d’espaces à la place !
Un caractère deux points à la fin de la ligne précédente annonce toujours une tabulation.
Dans les exemples de codes, l’indentation est indiquée par des tirets __. En cas de copier-coller des exemples, penser à remplacer ces tirets par des tabulations !
Exemples :
Branchement conditionnel
Pour effectuer des opérations uniquement lorsque certaines conditions sont remplies, on utilise les instructions de test if, elif et else.
Exemple :
Les tirets __ placés au début de certaines lignes doivent être remplacés par des indentations.
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.
Comparaisons et tests
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 :
Les tirets __ placés au début de certaines lignes doivent être remplacés par des indentations.
Boucle for
Pour répéter des opérations un nombre de fois connu à l’avance, on utilise une boucle for.
Exemple 1 :
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 :
Le code précédent calcule les 10 premières puissances de 2 : 21, 22,..., 210.
Les tirets __ placés au début de certaines lignes doivent être remplacés par des indentations.
Boucle while
Pour répéter des opérations jusqu’à ce qu’une condition soit satisfaite, on utilise une boucle while.
Exemple :
Ce code multiplie n par 3 de façon répétée. La première valeur de n qui atteint ou dépasse 100 est finalement affichée.
Les tirets __ placés au début de certaines lignes doivent être remplacés par des indentations.
Listes
En Python, une liste est un type de variable qui propose une succession d’espaces de stockage accessibles à l’aide d’un indice. Une liste est analogue à un tableau de valeurs.
Exemples :
Il est également possible de créer une liste progressivement :
Imports de fonctions
Le langage Python possède un nombre limité de fonctions de base. Pour lui ajouter des fonctionnalités, on utilise l’instruction import.
Exemple :
Les instructions d’import sont généralement regroupées dans les premières lignes du code.
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() (fonction qui renvoie un 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.
Création de fonctions
Pour éviter d’avoir à écrire plusieurs fois le même code, on peut le placer dans une fonction.
Exemple :
Attention !
La fonction range(a, b) énumère tous les nombres entiers de a à b-1. La valeur b n’est donc pas atteinte !
Entrée de valeurs
Au lieu de présaisir les valeurs initiales d’un programme, il est possible de demander à l’utilisateur de les saisir pendant l’exécution du programme.
Exemples :
Le code précédent affiche "Saisir une valeur :" puis attend une saisie au clavier de l’utilisateur terminée par un appui sur la touche entrée. La chaîne de caractères saisie est alors stockée dans la variable x.
Les saisies sont toujours au format texte, même lorsque l’utilisateur ne saisit que des chiffres. Pour transformer la saisie en nombre, il faut effectuer un transtypage :
La seconde ligne ci-dessus transforme la chaîne de caractères contenue dans x en entier puis la stocke dans x. Cet exemple montre également qu’une même variable peut être utilisée pour stocker des données de types différents.
Si l’utilisateur saisit une lettre, le transtypage en entier provoquera une erreur.
Le transtypage en entier (int) ou en nombre décimal (float) est indispensable pour pouvoir faire des calculs avec les valeurs, comme le montre l’exemple suivant :
Erreurs courantes
Confondre majuscules et minuscules dans un nom de variable.
Exemple de code erroné :
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 :
Oublier de fermer une chaine de caractères.
Exemple de code :
Il faut toujours s’assurer que chaque guillemet ouvrant correspond à un guillement fermant. La coloration syntaxique aide à repérer les chaînes de caractères non fermées.
Insérer plusieurs espaces au lieu d’utiliser la touche de tabulation devant les blocs des structures conditionnelles ou des boucles.
C’est une erreur difficile à repérer car les espaces comme les tabulations ne sont pas visibles (dans les exemples ci-dessus, des points et des tirets rouges ont été utilisés à la place pour les rendre visibles). Il est conseillé 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.