Computing">
Bases de Programmation Python
Bases de Programmation Python
Bases de Programmation Python
PROGRAMMATION
PYTHON
INTRODUCTION
2
VARIABLES ET
AFFECTATIONS
VARIABLES ET AFFECTATIONS
Un algorithme est une suite d’instructions à réaliser. Celui-ci peut être écrit en langage naturel, c’est-à-
dire en donnant les instructions en français, ais pour être exécuté, l’algorithme doit être traduit en
langage de programmation.
Un même algorithme peut être implémenté dans plusieurs langages de programmation différents. Par
exemple, le langage utilisé par les calculatrices TI n’est pas le même que celui utilisé par les
calculatrices Casio.
Ainsi, si on souhaite implémenter un algorithme sur la calculatrice, on ne saisira pas le même
programme, selon la marque de celle-ci.
Variables et Affectations
Une variable est désignéee par un nom (une lettre, un mot, plusieurs mots séparés par « _ » sans
espaces et contient une valeur d’un certain type. Les types que nous utiliserons ici sont :
▪ int : nombre entier relatif (positif ou négatif)
Exemple : 4 et -5 sont de type int.
▪ float : nombres floattant (à virgule)
Exemple : 2.56 et -1.627sont de type float
▪ str : chaîne de caractères, entourée d’apostrophes (‘…’) ou de guillemets. Une chaîne de caractères
correspond souvent à du texte, chaque caractère étant un symbôle : lettre, chiffre, ponctuation,…)
Exemple : ‘une chaine’ est de type str et contient dix caractères (3 lettres et un espace qui est aussi
un caractère).
▪ bool : booléen, qui peut avoir deux valeurs possibles seulement : True (vrai) et False (faux).
▪ Tuple : suite d’éléments de type éventuellement différents, séparés par des virgules et entourés par
des parentheses (…,…).
Exemple : (3, ‘triplet’, True) est un tuple contenant trois éléments.
▪ list : liste d’éléments souvent de même type, mais ce n’est pas obligatoires séparés par des virgules ‘,’
et entourée par des crochets ([…]).
Exemple : [0, 2, 4, 6, 8] est une liste contenant 5 éléments.
[] est une liste vide(ne contenant aucun élément.
[[3, 6, 9], [4, 8], [5, 10]] est une liste don’t les éléments sont eux-même des listes.
[(64, ‘pair’), (15, ‘impair’), (12, ‘pair’)] est une liste de couples
En langage Python, on utilize l’instruction a =… pour affecter une Valeur à une variable a.
Voici un exemple de saisie dans une console d’execution, (le symbôle # indique un commentaire qui
sera ignore par l’interpréteur Python) :
Remarque : a + b, a – b, a * b, sont des entiers (type int), a / b est un flottant (type float). Enfin le dernier
résultat est un couple d’entier (type tuple).
Remarque : attention, Python n’est pas un logiciel de calcul formel. Nous ne nous arrêterons pas dans
ce cours, sur la représentation des flottants, mais il faut avoir en tête, qu’un ordinateur utilise une
représentation binaire des nombres,. On peut donc parfois obtenir des résultats surprenants comme
par exemple :
Pour accéder à d’avantage de fonctionnalités, on peut importer certains modules, comme par exemple
le module math (accès aux fonctions mathématiques), le module random (génération de nombres
aléatoires), ou le module turtle (module graphique).
Exemple : les instructions suivantes permettent d’importer la fonction sqrt (racine carrée), du module
math puis de détermimer 1441/2
Remarque : si l’on souhaite directement importer toutes les fonctionnalités du module math, on pourra
directement saisir : from math import *
Pour afficher des valeurs et/ou du texte, on utilise la fonction print :
Dans le cas des séquences, c’est-à-dire des listes, des chaînes de caractères et des tuples, ‘opérateur +
sert à la concaténation de deux séquences de même type, ce qui consiste à les mettre bout à bout,
tandis que len determine la longueur.
Cependant dans le cas des listes, on préfèrera ajouter des éléments à l’aide de la méthode append.
Enfin, pour accéder au ième élément d’une variable on ajoute [i] au nom de la variable.
Exemple :
FONCTIONS
FONCTIONS :
Les fonctions Python, sont définies à l’aide du mot-clé def : on donne un nom à la
fonction et on précise ses éventuels paramètres (on indique () s’il n’y a pas de
paramètres). On indique ensuite les différentes instructions à exécuter lors de l’appel de
la fonction.
Il n’y a aucun affichage si ce n’est pas explicitement demandé dans les instructions. On
peut parfois utiliser print pour l’affichage.
Remarque :
Il est nécessaire d’utiliser la commande return et non la fonction print afin de pouvoir
exploiter les résultats.
Remarque :
Les résultats obtenus avec les fonctions fonction et fonction_bis, semblent identiques
pourtant :
Or la fonction print ne fait qu’afficher les résultats sans les stocker, il n’y a donc rien
à comparer.
ACTIVITES
Exercice 1 :
Une entreprise fournit des ramettes de papier à prix dégressif, en fonction du nombre
de lots achetés : les 50 premiers lots sont vendus 3.65€, au-delà, chaque lot est vendu
3.22€; Ecrire une fonction prix, qui lorsqu’on saisit le nombre de lots achetés, renvoie le
prix à payer.
Exercice 1.2 : Un cinéma propose un pass mensuel à 15€ permettant d’obtenir une
réduction sur le prix des séances : sans réduction, la séance est à 8.70€, alors qu’avec le
pass la séance est à 5.50€. Compléter le programme suivant afin que abo(n) renvoie un
couple indiquant, s’il est plus avantageux de prendre le pass ou non ainsi que le prix
total à payer, pour n séances dans le mois.
En langage Python, on utilise if pour « Si », on inscrit la condition à vérifier pour exécuter les
instructions puis « : » avant de donner les Instructionsà la ligne suivante.
Il n’y a pas de « Fin Si », c’est l’indentation qui indique, si l’on est encore en train de donner des
instructions ou non. Dans l’éventualité où il y aurait plusieurs cas à distinguer, on utilise elif pour
« Autre Si », enfin on utilise else pour « Sinon »
Exemple : Fonction qui teste si deux entiers sont tous les deux impairs.
BOUCLE BORNEE (FOR)
Lorsque l’on souhaite répéter un certain nombre de fois une même instruction, on utilise une boucle
bornée :
Remarque : range(n) correspond aux n premiers entiers, c’est-à-dire les entiers de 0 à n-1, il faut
donc écrire range(n+1) si l’on souhaite aller jusqu’à n.
range(n, m) correspond aux entiers de n à m-1. Ici aussi, attention aux indices !
BOUCLE BORNEE (FOR)
Lorsque l’on souhaite répéter un certain nombre de fois une même instruction, on utilise une boucle
bornée :
Remarque : range(n) correspond aux n premiers entiers, c’est-à-dire les entiers de 0 à n-1, il faut
donc écrire range(n+1) si l’on souhaite aller jusqu’à n.
range(n, m) correspond aux entiers de n à m-1. Ici aussi, attention aux indices !
BOUCLE NON BORNEE (WHILE)
Lorsque l’on souhaite répéter une instruction sous une certaine condition, on utilise une boucle non
bornée.
Remarque : Il faut être vigilant avec ce type de boucles : il faut s’assurer que la condition donnée ne
sera plus vérifiée au bout d’un moment. En effet, l’exécution de l’algorithme prend fin uniquement
lorsque la condition n’est plus vérifiée. En cas d’erreur, on pourra en général utiliser la combinaison
CTRL + C pour interrompre l’exécution d’un programme qui ne terminerait pas.
Remarque : on aurait aussi bien pu écrire, un programme qui donne la liste des valeurs successives prises par n :