PROGRAMMATION EN PYTHON Dans un environnement de

publicité
Info 4
PROGRAMMATION EN PYTHON
premiers éléments
Notion de programmation
. Un programme est la traduction d’un algorithme dans un langage « compréhensible » par une machine.
. Notre langage de programmation sera Python.
. Dans l’immédiat, il s’agit donc de se familiariser avec Python, et les principaux objets qui nous permettront de construire des programmes.
Dans un environnement de développement...
I Au lancement d’un environnement de développement dédié à Python (IDLE ou
Spyder, en ce qui nous concerne), s’ouvre un interpréteur de commande.
I La série de > > > est une invitation à saisir des commandes : il suffit de saisir à
la suite une instruction, puis d’appuyer sur la touche « Entrée » du clavier pour
exécuter cette instruction.
I Cette console Python peut fonctionner comme une simple calculatrice.
Les données numériques manipulées sont essentiellement de deux types : int pour
les entiers, et float pour les nombres à virgule flottante.
Les opérations sur les entiers sont l’addition (+), la soustraction (–), la multiplication (*), l’exponentiation (**) et la division euclidienne (dont le quotient
se calcule à l’aide de la commande //, et le reste à l’aide de %).
Les opérations envisageables avec les nombres à virgules flottante sont l’addition (+), la soustraction (–), la multiplication (*), l’exponentiation (**) et la
« division réelle » (/).
Nota bene
. L’écriture scientifique d’un nombre flottant par Python mérite une petite traduction : par exemple, le nombre 6, 022 × 1023 se lit 6.022e23.
. Les opérations faisant intervenir à la fois des données de type int et des données de type float sont envisageables : les entiers sont alors considérés comme
des flottants.
. On peut « forcer » Python à considérer une expression de type int comme
étant de type float, à l’aide de l’instruction float(expression) : on dit
alors qu’on a converti l’expression considérée en un flottant.
La conversion d’un flottant en un entier se fait à l’aide de la commande
int(expression), qui effectue simplement la troncature du réel considéré.
1
Types d’objets en Python
1. Les nombres sont définis en deux types que l’on vient d’évoquer : les entiers
(type int) et les flottants (type float).
2. Les booléens (type bool)
. Syntaxe
des opérations sur les booléens
:::::::::::::::::::::::::::::::::::
→ non(...) s’écrit not(...)
→ ... et ... s’écrit ... and ...
→ ... ou ... s’écrit ... or ...
. Comparaisons
de deux variables
::::::::::::::::::::::::::::
Etant données deux variables nommées a et b, l’affirmation « La valeur de a
est égale à celle de b » est un booléen, puisqu’elle est vraie ou fausse.
En Python, cette comparaison des valeurs de a et de b s’écrit a==b .
Lorsque les valeurs stockées dans les variables a et b sont des nombres, d’autres
comparaisons sont envisageables. Par exemple :
→ a<b teste si la valeur stockée en a est strictement inférieure à celle de b ;
→ a>=b teste si la valeur stockée en a est supérieure à celle de b ;
→ a!=b teste si la valeur stockée en a est différente de celle de b.
3. Les chaînes de caractères (type char) se présentent sous forme de textes délimités par des
guillemets, ou :::
des :::::::::::
apostrophes, voire :::
des :::::::
triplets :::
de :::::::::
guillemets.
::::::::::::
,→ "blabla"
,→ ’blabla’
,→"""blabla"""
4. Les listes (type list) s’écrivent sous la forme de successions finies d’objets de
types quelconques, délimitées par des crochets, numérotés à partir de l’indice 0.
Par exemple, L=["truc"
| {z }, "bidule"
| {z }, "chose"
| {z }] est une liste à trois éléments, lesL[0]
L[1]
L[2]
quels sont tous des chaînes de caractères.
2
Instructions en Python
I Affectation d’une variable
a étant une variable, l’affectation a← 3 se code, en Python : a=3 .
En particulier, :a::::::
ayant :::
été :::::::::::::
préalablement ::::::::
initialisée, l’incrémentation a←a+1 s’écrit a=a+1 :
cette instruction ne doit pas être confondue avec la condition (booléenne) a==a+1 !
I Instruction d’entrée
L’instruction reponse=input("Entrer une valeur") permet d’affecter dans
la variable reponse la réponse de l’utilisateur à la phrase « Entrer une valeur »
,→ chaîne de caractères
Attention
au type !
::::::::::::::::
Dans le cadre de l’instruction ci-dessus, la donnée affectée
à la variable reponse est une chaîne de caractères.
Si celle-ci doit être, ensuite, interprétée comme un nombre,
il faudra la convertir comme tel, via la commande :
. int(reponse) si reponse est un entier ;
. float(reponse) si reponse est un flottant.
I Instruction de sortie
L’instruction print("Du texte ou ",autre) permet d’afficher, lors de l’exécution d’un programme, des « blocs » de données de tout type : ici, la chaîne de
caractère « Du texte et » sera écrite, et suivie de la valeur de la variable autre.
I Instruction conditionnelle
Pour exécuter une (ou plusieurs) instruction(s)
si une condition (booléenne) est réalisée, on écrira :
... et si l’on envisage d’autres alternatives,
on peut utiliser la syntaxe : if condition :
instruction(s)
elif autre condition :
autre(s) instruction(s)
else :
encore d’autres instructions
I Itération avec condition de continuation
Lorsqu’on veut qu’une (ou plusieurs) instruction(s) se répète(nt)
tant qu’une condition est vérifiée, on écrit : while condition :
instruction(s)
. Comme précédémment, une indentation délimite le bloc d’instructions à
effectuer tant que la condition est vérifiée.
. ATTENTION ! La
condition doit évoluer à chaque itération pour éviter
:::::::::::::::::::::::::::::::::::::::::::::::::
le
risque
que
la
boucle
se répète indéfiniment.
:::::::::::::::::::::::::::::::::::::::
I Itération avec compteur
Si on a l’intention de répéter n fois un certain bloc d’instructions,
la syntaxe dans Python est : for compteur in range(n) :
instruction(s)
. Comme précédemment, l’indentation qui suit la ligne indique quelles sont
les instructions qui vont être répétées.
. Dans le cadre de la boucle for compteur in range(n) : , la variable
compteur parcourt l’ensemble des entiers compris entre 0 et n−1.
Avant de se lancer...
if condition :
instruction(s)
Quand on écrit la commande if condition: , un alinéa (appelé indentation)
apparaît automatiquement lors du retour à la ligne.
Cette indentation est signifiante : toutes les instructions écrites après un tel
alinéa ne seront exécutées que si la condition est vérifiée.
Pour qu’une instruction soit effectuée indépendamment de la condition, on
la décalera pour qu’elle soit écrite au même niveau d’indentation que le if.
On peut aussi préciser des instructions à exécuter
si la condition n’est pas réalisée, avec : if condition :
instruction(s)
else :
autre(s) instruction(s)
I Pour obtenir des explications concernant le fonctionnement d’une commande,
il suffit d’écrire, dans l’interpréteur, help(commande).
I Un programme écrit en Python est une succession de lignes écrites dans un
langage qui manque parfois de clarté pour la personne qui le lit.
Or, si l’on veut y apporter des modification, il est fondamental d’accéder
rapidement et simplement à une partie précise de celui-ci, ce qui nécessite
d’en avoir une lecture parfaitement claire.
Pour cela, on fera figurer, dans un programme, des commentaires
: il s’agit
::::::::::::
de textes expliquant pour un lecteur humain le fonctionnement de telle ou
telle partie du programme, et ne devant pas être interprétés par l’ordinateur
au moment de l’exécution. Pour cela, il suffit de précéder ces explications du
symbole #.
Téléchargement