Sommaire
ILe langage PythonAInstructions élémentairesBLes variables1La définition des variables et leur affectation2Le type d'une variable3Les opérateurs de comparaison en PythonCLes instructions conditionnellesDLes boucles1Les boucles bornées2Les boucles non bornéesIILes fonctionsIIIListesAQu'est-ce qu'une liste ?BInstructions élémentaires liées aux listesCGénération d'une liste1Génération d'une liste par extension2Génération d'une liste par ajouts successifs3Génération d'une liste en compréhensionDManipulation des éléments d'une listeELes itérations sur les éléments d'une liste et le parcours d'une listeLe langage Python
Instructions élémentaires
Les opérations suivantes en Python sont les suivantes :


Les commentaires en Python servent à détailler le fonctionnement d'un code.
Souvent, lorsqu'on écrit un programme, on a besoin d'y ajouter des commentaires.
En Python, cela se fait en plaçant le symbole #, d'appelant "dièse", au début du texte à ignorer.
Après un # , tout ce qui est écrit jusqu'à la fin de la ligne est ignoré par l'ordinateur.
Les variables
La définition des variables et leur affectation
Variable
Une variable est une « boîte » virtuelle qui correspond à une case mémoire de la machine, dans laquelle on peut stocker un nombre, une chaîne de caractères, une lettre, etc.
Chaque variable a un nom, qui est composé de lettres minuscules ou majuscules, sans espace. On peut insérer des nombres dans les noms des variables, mais ils ne doivent pas figurer au début du nom.
Attention, une variable en informatique n'est pas l'équivalent d'une variable en mathématiques !
En Python, pour affecter une valeur à une variable, il suffit de donner son nom, et la valeur qu'on lui donne, séparés par un symbole =.

Le type d'une variable
Les variables peuvent être de différents types.
De ce type dépend l'espace utilisé par la variable en mémoire, et aussi l'utilisation que le programme peut en faire.

En Python, la valeur 5 est un entier, alors que la valeur 5.0 est un nombre à virgule flottante.
Le type de variable est déterminé lors de son affectation.

Les opérateurs de comparaison en Python
Lorsque l'on souhaite comparer des nombres en Python, on peut utiliser des symboles.

Ici, a et b sont des variables de type float ou int en Python.
La comparaison sera utilisée dans des instructions conditionnelles ou des boucles.
Les instructions conditionnelles
Dans un programme, on a souvent besoin d'exécuter des instructions différentes en fonction d'une condition.
Certaines parties du code sont exécutées ou ignorées suivant que la condition est vérifiée ou non.
La structure d'une instruction conditionnelle dans Python est la suivante :

<condition> est une condition à remplir.
- Si la condition est respectée, alors le bloc if est exécuté.
- Si la condition n'est pas respectée, le bloc else est exécuté.
Une condition utilise des opérateurs de comparaison.
Parfois, il n'y a pas de groupe else : si la condition if n'est pas respectée, c'est la suite du programme qui s'exécute.
En Python :
- Au sein des blocs if et else, les groupes d'instructions doivent être précédés d'une indentation !
-
Il faut noter le deux-points « : » à la fin des lignes contenant if et else !

Les boucles
Boucle
Dans un algorithme, une boucle est une suite d'instructions que l'on répète.
Les boucles bornées
Boucle bornée
Une boucle bornée est une boucle dans laquelle le nombre de répétitions est fini. Une telle boucle parcourt un nombre fini d'éléments. Il peut s'agir des éléments d'une liste, d'une chaîne de caractères ou d'un itérateur. Une boucle bornée se termine toujours.
Pour répéter des instructions un nombre fixe de fois, on peut utiliser une boucle for.
On indique le nombre de répétitions à faire grâce l'instruction range puis le groupe d'instructions que l'on souhaite répéter.
En Python, la syntaxe des boucles bornées est la suivante :

La variable compteur est une variable qui n'a pas besoin d'être définie avant la boucle et qui sert uniquement dans la boucle.

Avec un seul argument, l'instruction range fait commencer à l'étape 0.
Si on veut indiquer l'étape à laquelle commencer, on utilise l'instruction range avec deux arguments. Le premier argument indique alors l'étape initiale.
Les boucles non bornées
Parfois, on ne connaît pas à l'avance le nombre de fois que l'on veut exécuter un groupe d'instructions, mais on sait à quelle condition il faut s'arrêter.
On va alors utiliser le mot-clé while qui signifie en français « tant que ».
Boucle non bornée
Une boucle non bornée est une boucle qui ne s'arrête que lorsqu'une condition particulière est remplie. On ne sait pas à l'avance quel sera le nombre d'itérations dans la boucle.
Un test d'arrêt est effectué à chaque passage de la boucle.
Si la condition n'est jamais vérifiée, la boucle ne s'arrêtera jamais.

Il faut bien s'assurer que la condition d'une boucle peut être remplie, sinon le programme ne s'arrêtera jamais et il faudra l'interrompre manuellement, ce qui peut causer des problèmes de mémoire.
La syntaxe des boucles non bornées est la suivante :


Si la condition d'entrée dans une boucle while est toujours respectée, le programme va continuer de répéter ses instructions sans arrêt.
Les boucles infinies sont généralement à éviter.
Les fonctions
Une fonction
Une fonction est un sous-programme qui renvoie un résultat.
Ce résultat peut être utilisé autant de fois que nécessaire dans un programme plus général.
Certaines fonctions sont déjà programmées dans Python, par exemple :

Dans un programme, lorsqu'une même séquence d'instructions est utilisée plusieurs fois, on a intérêt à écrire une fonction contenant cette séquence d'instructions.
Cela permet de gagner du temps et de rendre le programme plus lisible.

Attention !
Dans Python, le deux-points à la fin de la première ligne et les indentations sont obligatoires.
La fonction perimetre_triangle() renvoie le périmètre d'un triangle équilatéral de côté c.

Listes
Qu'est-ce qu'une liste ?
Regrouper plusieurs informations dans une même structure de donnée est très utile en programmation.
On introduit une première structure de données en Python, celle de liste.
Liste
Une liste est un objet algorithmique servant à stocker plusieurs variables au cours d'un programme.
Les variables stockées peuvent être de différents types : variables numériques, chaînes de caractères, booléens, listes, etc.
Les différents types de variables peuvent être mélangés au sein d'une même liste.
Pour déclarer une liste en Python, la syntaxe est la suivante :
nom_liste=[...,...,...]

Rang d'un élément
On appelle rang d'un élément dans une liste sa position dans la liste.
En Python, le premier élément d'une liste est de rang 0.
La numérotation des éléments commence donc à 0.
Dans la liste [6,8,3], on a :
- Le nombre 6 est l'élément de rang 0.
- Le nombre 8 est l'élément de rang 1.
- Le nombre 3 est l'élément de range 2.
Instructions élémentaires liées aux listes
Pour accéder à un élément d'une liste, on écrit le nom de la liste suivi, entre crochets, du rang de cet élément.
On considère la liste suivante :
Liste = [5,9,3,1,0].

Voici quatre instructions élémentaires liées aux listes :

On considère la liste suivante :
UneListe = [5,8,6,6,7,3]

Génération d'une liste
Une liste peut être générée de plusieurs manières :
- par extension ;
- par ajouts successifs ;
- en compréhension.
Génération d'une liste par extension
Génération d'une liste par extension
Générer une liste par extension, c'est donner les éléments de cette liste.
On peut générer la liste des carrés des nombres entiers de 0 à 10 de la manière suivante :
Liste = [0,1,4,9,16,25,36,49,64,81,100]
Génération d'une liste par ajouts successifs
Génération d'une liste par ajouts successifs
Générer une liste par ajouts successifs, c'est définir une liste vide puis lui ajouter successivement des éléments (par exemple à l'aide d'une boucle).
En Python on peut ajouter un élément « Element » à la fin d'une liste « uneListe » avec la syntaxe uneListe.append(Element).
On peut générer la liste des carrés des nombres entiers de 0 à 10 de la manière suivante :
Liste_carres = [ ]
for x in range (11)
Liste_carres.append(x*x)
return Liste_carres
Génération d'une liste en compréhension
Génération d'une liste en compréhension
Générer une liste en compréhension, c'est définir cette liste en indiquant la façon dont sont générés les éléments de la liste.
On peut générer la liste des carrés des nombres entiers de 0 à 10 de la manière suivante :
carres = [i*i for i in range(11)]
La génération d'une liste en compréhension est plus courte et plus explicite que les précédentes.
Manipulation des éléments d'une liste
On peut manipuler les éléments d'une liste en effectuant les actions suivantes :
- remplacement ;
- insertion ;
- suppression ;
- tri.

Les itérations sur les éléments d'une liste et le parcours d'une liste
On peut avoir besoin de parcourir la liste. Ce parcours peut se faire en utilisant les indices des éléments de la liste ou « en compréhension ».

L'instruction lambda est utilisée ici pour créer une fonction qui n'est pas destinée à être réutilisée, lui donner un nom est alors inutile.
La syntaxe est la suivante :
lambda nom_variable:expression_image_par_la_fonction.
Dans l'exemple, la fonction utilisée est la fonction x \longmapsto x^2+3.