Académique Documents
Professionnel Documents
Culture Documents
Sommaire
1. Bonjour monde
2. Notion de variables
3. Un peu de calculs
4. Chaînes de caractères
5. Les fonctions
6. Expressions et booléens
7. Les conditions
8. La boucle "tant que..."
1/36
9. Les séquences : tuples et tableaux
La boucle "for" pour parcourir un tableau
10. Lire dans un fichier
11. Commenter son code
12. Un petit projet
13. Tracer des graphiques avec matplotlib
14. Pour aller plus loin sur magistère
Source :
Le contenu ci-dessous est honteusement pompé et parfois librement adapté du travail de David Roche,
disponible notamment sur : https://pixees.fr/informatiquelycee/n_site/nsi_prem_pythonbase.html
Programmer, c'est créer des programmes (suite d'instructions données à l'ordinateur) ! Un ordinateur sans
programme ne sait rien faire. Il existe différents langages qui permettent de programmer un ordinateur,
mais le seul directement utilisable par le processeur est le langage machine (suite de 1 et de 0).
Aujourd'hui (presque) plus personne ne programme en langage machine (trop compliqué).
Les informaticiens utilisent des instructions (mots souvent en anglais) en lieu et place de la suite de 0 et de
1. Ces instructions, une fois écrites par le programmeur, sont « traduites » en langage machine. Un
programme spécialisé assure cette traduction. Ce système de traduction s'appellera interpréteur ou bien
compilateur, suivant la méthode utilisée pour effectuer la traduction.
Les langages de bas niveau sont très complexes à utiliser, car très éloignés du langage naturel, on
dit que ce sont des langages « proches de la machine », en contrepartie ils permettent de faire des
programmes très rapides à l'exécution. L'assembleur est le langage de bas niveau. Certains
"morceaux" de programmes sont écrits en assembleur encore aujourd'hui.
Les langages de haut niveau sont eux plus "faciles" à utiliser, car plus proches du langage naturel
(exemple : si a=3 alors b=c). Exemples de langages de haut niveau : C, C++ , Java, Python...
Pour écrire nos programmes, nous utiliserons le logiciel EduPython (mais il existe beaucoup d'autres
logiciels permettant de faire la même chose : Spyder, jupyter, IDLE, Pycharm...).
Le premier exercice de tout (bon) tuto de programmation consiste à écrire un programme qui déclame
fièrement "Bonjour le monde !" au monde.
Console EDUPYTHON
En python, la commande qui permet d'afficher dans la console EDUPYTHON (CEP) un texte est la
commande print():
print("quelque chose")
2- Notion de variable
"Machine automatique de traitement de l'information, obéissant à des programmes formés par des suites
d'opérations arithmétiques et logiques."
Qui dit "traitement de l'information" dit donc données à manipuler. Un programme "passe" donc son
temps à traiter des données. Pour pouvoir traiter ces données, l'ordinateur doit les ranger dans sa
mémoire (RAM - Random Access Memory). La RAM se compose de cases dans lesquelles nous allons
ranger ces données (une donnée dans une case). Chaque case a une adresse (ce qui permet au processeur
de savoir où sont rangées les données).
Eh bien, c'est une petite information (une donnée) temporaire que l'on stocke dans une case de la RAM.
On dit qu'elle est "variable", car c'est une valeur qui peut changer pendant le déroulement du programme.
Elle a une valeur : c'est la donnée qu'elle "stocke" (par exemple le nombre entier 42)
Elle a un nom : c'est ce qui permet de la reconnaître. Nous n'aurons pas à retenir l'adresse de
mémoire, nous allons juste indiquer des noms de variables à la place.
Ainsi l'instruction :
reponse = 42
Définit une variable appelée reponse et qui contient la valeur 42. Plus précisément, nous dirons que la
3/36
variable reponse référence le nombre entier 42.
Pour connaître la valeur référencée par une variable, il suffit de taper le nom de la variable et d'exécuter la
commande
Ecrire et tester sur la CEP une instruction qui affecte la valeur 15 à une variable dont le nom est
points_de_vie et afficher maintenant la valeur de votre variable points_de_vie:
Entrée 2 :
On récapitule : créer une variable et afficher sa valeur dans son premier programme¶
NB : un "programme" est une suite d'instructions. En python, les instructions consécutives sont séparées par
un simple retour à la ligne.
Votre premier programme Cliquer sur la flèche verte pour exécuter le programme
Nous n'avons pour l'instant travaillé qu'avec des nombres entiers, essayez pour voir d'attribuer maintenant
la valeur 3.1415 à une variable appelée environPi
Entrée 3 : environPi=3.1415
On appelle "type" la nature de la valeur référencée dans une variable. Pour connaitre le type d'une variable
(plus rigoureusement de la valeur qu'elle référence), on peut utiliser l'instruction :
type(ma_variable)
Utiliser cette instruction pour connaître les types des variables points_de_vie et environPi et vérifier dans
la CEP la cohérence des résultats obtenus. 4/36
Une variable peut donc référencer plusieurs types d'entités (pour l'instant nous n'en avons vu que deux,
mais nous en verrons d'autres plus loin) : les nombres entiers ("integer" en anglais, abrégé en "int") et les
nombres à virgule ("float" en anglais).
3. Un peu de calculs
Un ordinateur est bien évidemment capable d'effectuer des opérations mathématiques (arithmétiques).
Les signes utilisés sont classiques : +, - , * , / , // (division euclidienne) ou encore % (modulo : reste d'une
division euclidienne).
Il est tout à fait possible d'effectuer des opérations directement avec des nombres, mais il est aussi
possible d'utiliser des variables.
Faire un calcul
Testez votre programme en affichant finalement la valeur référencée par la variable resultat.
Entrée 6 :
Comme dans l'instruction a = 12 qui affecte à a la valeur 12 , il faut comprendre que lors d'un calcul, le
signe = est une affectation (et non une égalité) de la valeur évaluée à sa droite vers la variable présente à
sa gauche, ainsi, ce qui peut surprendre au premier abord, la syntaxe du programme :
a = 12
a = a + 42
print(a)
Entrée 7 : 54
Il est aussi possible d'effectuer des calculs plus complexes en utilisant par exemple des exposants, des
racines carrées, des fonctions trigonométriques...
Pour utiliser ces fonctions mathématiques plus avancées, il est nécessaire d'ajouter une ligne au début de
votre programme :
import math
Cette ligne permet d'importer (et donc d'utiliser) le module "math" (ce module contient toutes les
fonctions mathématiques "classiques").
Si vous avez besoin d'autres fonctions mathématiques, vous pouvez consulter la documentation de
Python : https://docs.python.org/3/library/math.html
Entrée 5040
8 :
9744803446.24889
3.138288992714996
6/36
Il est tout à fait possible de référencer dans une variable une "chaîne de caractères"
Prouvez-le en tapant un programme qui affecte "Bonjour, monde !" à une variable appelée message, que
vous afficherez ensuite.
Entré
e 9 :
7/36
Concaténons !
Il est possible de concaténer aussi bien directement des chaînes de caractères que des variables contenant
des chaines de caractères.
Complétez le programme commencé ici pour qu'il affiche "Bonjour, Kevin et Johnny!"
8/36
Python ne permet pas de concaténer des chaines de caractères avec d'autres types, le programme :
police = 12.4
syndicats = 345733
decompte = "Il y avait entre " + police + " et " + syndicats +" manifestants dans la rue cet après-midi"
print(decompte)
va renvoyer un message d'erreur : on ne doit concaténer que des chaines de caractères entre elles.
Essayez donc de mettre à profit l'instruction str() pour venir à notre aide et informer la population.
Entré
e 11 :
Outre l'utilisation de str(), il est également possible d'utiliser (depuis python 3.5) les fstring avec la syntaxe
suivante :
pivot = 58
generation = 57
newsflash = f"L'age de la retraite finalement porté à {pivot} ans pour la génération
{generation}"newsflash
10/36
5. Les fonctions
Les fonctions permettent de décomposer un programme complexe en une série de sous-programmes plus
simples. De plus, les fonctions sont réutilisables : si nous disposons d'une fonction capable de calculer une
racine carrée, par exemple, nous pouvons l'utiliser un peu partout dans notre programme sans avoir à la
réécrire à chaque fois (on parle de factorisation du code)
Si nous avons y = 3.x + 2, pour une valeur donnée de x, nous aurons une valeur de y.
def nom_de_la_fonction(parametre):
instruction_1
instruction_2
return y
suite du programme...
ATTENTION : Notez bien la présence du décalage entre la première ligne et les lignes suivantes. Ce
décalage est appelé indentation, l'indentation permet de définir un bloc de code.
l'indentation nous permet de savoir que "instruction_1", "instruction_2" et "return y" constituent un bloc
de code, ce bloc correspond au contenu de la fonction
"suite du programme" ne fait pas partie de la fonction, car il n'est pas indenté.
Pour indenter du code, il y a 2 solutions : mettre 4 espaces ou utiliser une tabulation. En Python il est
conseillé d'utiliser les 4 espaces, mais ce n'est pas une obligation (personnellement, j'utilise plutôt les
tabulations...). Une chose est sûre, une fois que vous avez choisi une méthode, n'en changez surtout pas au
cours d'un même programme !
Pour "utiliser" la fonction ma_fonction , il suffit de l'appeler avec une valeur donnée de son paramètre en
écrivant par exemple :
ma_fonction(4)
Affectez alors le résultat à une variable appelée resultat et affichez cette valeur :
Entrée 13 14
Modifiez la fonction précédente pour en faire une fonction à plusieurs variables : x , a et b , dont le résultat
sera la valeur donnée par : a * x + b :
Entrée 14
14
12/36
Ici encore, les variables peuvent avoir différents types : écrire une fonction :
s'appelant mon_dessert
qui prenne 2 paramètres :
"fruit" (de type "chaine de caractères")
"nombre" (de type "entier")
qui renvoie comme résultat la phrase : "Pour dessert, j'ai mangé (nombre) (fruit)"
Appeler finalement cette fonction de sorte qu'elle affiche : "Pour dessert, j'ai mangé 3 bananes"
Il faut aussi savoir qu'une fonction ne renvoie pas forcément de valeur (le mot clé return n'est pas
obligatoire).
Mais si elle ne renvoie pas de valeur, que fait-elle ? Elle peut faire plein de choses, par exemple elle peut
tout simplement afficher une chaîne de caractères à l'aide d'un "print". Sachez que dans certains langages,
on utilise les termes méthode ou procédure pour qualifier une fonction "qui ne renvoie rien".
Modifiez votre fonction mon_dessert() pour qu'elle ne renvoie aucun résultat mais imprime elle-même la
phrase "Pour dessert..."
Lycée Saint Marc, Nivolas Vermelle Initiation à Python Tsi 2019-2020
Entré Tester votre code sur https://repl.it/languages/python3
e 15b
13/36
Si quelqu'un vous dit que "4 est égal à 5", vous lui répondez quoi ? "C’est faux". Si maintenant la même
personne vous dit que "7 est égal à 7", vous lui répondrez bien évidemment que "c'est vrai".
En Python, ces deux «affirmations» ("4 est égal à 5" et "7 est égal à 7") s'appellent des expressions, elles
s'écriront :
4 == 5
7 == 7
ATTENTION : notez le double égal "==" qui permet de distinguer une expression et une affectation
(référencement d'une valeur par une variable). Le fait de confondre le "simple égal" et le "double égal"
est une erreur classique qu'il faut éviter.
Le signe "==" est appelé opérateur d'égalité, alors que signe "=" est l'opérateur d'affectation.
Ecrire ci-dessous une expression vraie et une expression fausse et afficher leur valeur ( True et False ) :
1==2 False
Pour l'instant nous avons vu deux grands types de données : les nombres (entier ou flottant) et les chaînes
de caractères, il existe un troisième type tout aussi important que les deux premiers : les booléens.
Un booléen est un type de données qui ne peut prendre que deux valeurs : vrai ("True") ou faux ("False"). Il
est donc possible d'affecter à une variable de type booleen la valeur d'une expression, cette variable aura
alors pour valeur 'True' ou 'False', comme dans cet exemple :
7. Les conditions
Pouvoir comparer des valeurs, c'est bien, mais pouvoir adapter son programme au résultat obtenu, en
fonction de valeurs d'expressions évaluées, ce serait mieux : comme disait l'autre "Décider, c'est choisir"
(ou le contraire ?).
Pour pouvoir écrire un programme capable de réagir différemment selon qu'un nombre est supérieur ou
inférieur ou égal à un autre, il faudrait pouvoir coder cette notion de si .... alors .... ou bien... sinon...
Une structure fondamentale en programmation (en algorithmique) est donc le : si... alors... sinon
On notera :
l'indentation du bloc d'instructions concernées par le if et du bloc de celles concernées par le else:
c'est cette indentation seule qui définit quelles sont les instructions à effectuer ou pas, selon que
la condition testée par le if est vraie ou non
que les conditions if et else sont au même niveau d'indentation
la présence des deux points ":" en fin des lignes if et else
Saurez-vous compléter et tester le programme ci-dessous qui doit dire si a est plus grand que b ?
15/36
Entrée a = 40
19 : b = 37
___ a>b:
print('a
est plus
grand que
b')
____:
print('a
est plus
petit que b')
Entré
e 20 :
Vous êtes gérant d'un magasin et vous désirez écrire un programme Python qui calculera
automatiquement le montant de la facture des clients.
Tout client qui achète au moins 5 fois le même article se voit octroyer une remise de 5 %. Afin de simplifier
le problème, on considère qu'un client n'achète qu'un seul type d'article.
Écrire une fonction qui prend en paramètre le prix unitaire de l'article et le nombre d'articles achetés et
qui doit renvoyer le montant de la facture.
Entré
e 21 :
Nous allons étudier 2 opérateurs logiques : le "ou", noté en Python or et le "et", noté en Python and.
L'expression expression1 and expression2 est vrai si les deux expressions 1 et 2 sont vraies simultanément.
L'expression expression1 or expression2 est vrai si l'une au moins des deux expressions 1 et 2 est vraie.
Ces résultats peuvent être regroupés dans ce que l'on appelle une table de vérité :
La notion de boucle est fondamentale en informatique. Une boucle permet d'exécuter plusieurs fois des
instructions qui ne sont présentes qu'une seule fois dans le code.
while expression :
instruction1
instruction2
suite programme
Tant que l'expression s'évalue à "True", les instructions à l'intérieur du bloc (partie indentée) seront
exécutées.
A partir d'une variable « i »valant 0, écrire un programme qui "compte" jusqu'à 17.
Entrée 23 :
Entrée 24 :
18/36
Écrire une fonction permettant d'afficher une table de multiplication. Cette fonction devra prendre en
paramètre la table désirée.
Par exemple si l'on passe le paramètre 3 à la fonction, la fonction devra permettre d'afficher :
1x3=3
2x3=6
...
...
10 x 3 = 30
Entré
e 25 :
Pour travailler avec des séries de valeurs, il est possible de "stocker" plusieurs grandeurs dans une même
structure, ce type de structure est appelé une séquence.
De façon plus précise, nous définirons une séquence comme un ensemble fini et ordonné d'éléments
indicés de 0 à n-1 (si cette séquence comporte n éléments). Rassurez-vous, nous reviendrons ci-dessous
sur cette définition.
Les tuples
Comme déjà dit ci-dessus, un tuple est une séquence. Voici un exemple très simple :
mon_tuple = (5, 8, 6, 9)
Dans le code ci-dessus, la variable "mon_tuple" référence un tuple, ce tuple est constitué des entiers 5, 8, 6
et 9. Comme indiqué dans la définition, chaque élément du tuple est indicé (il possède un indice):
mon_tuple[i]
ATTENTION : dans les séquences les indices commencent toujours à 0 (le premier élément de la séquence
a pour indice 0), oublier cette particularité est une source d'erreur "classique".
Il n'est pas possible de modifier un tuple après sa création (on parle d'objet "immutable").
Si vous avez compris, vous devez savoir quelle est la valeur de la variable a dans l'exemple ci dessous :
mon_tuple = (5, 8, 6, 9) Tester le code dans un programme.
Entrée 26 : a = mon_tuple[2]
print(a) Réponse :
Un tuple ne contient pas forcément des nombres entiers, il peut aussi contenir des nombres décimaux, des
chaînes de caractères, des booléens...
Complétez le programme ci dessous pour que le programme affiche "Bonjour le monde !" :
mots = ("le", "Bonjour", "monde")
Entrée 27 : print(mots[ ?] + ", " + mots[ ?] + " " + mots[ ?] + " !")
Les tableaux
ATTENTION : Dans la suite nous allons employer le terme "tableau". Pour parler de ces "tableaux" les
concepteurs de Python ont choisi d'utiliser le terme de "list" ("liste" en français). Par souci "d'universalité"
par rapport à d'autres langages de programmation, nous utiliserons le terme "tableau" à la place du terme
"list".
Pour créer un tableau, il existe différentes méthodes : une de ces méthodes ressemble beaucoup à la
création d'un tuple :
mon_taleau[5, 8, 3, 7]
Notez la présence des crochets [ ] (à la place des parenthèses pour les tuples).
Un tableau est une séquence, il est donc possible de "récupérer" un élément d'un tableau à l'aide de son
20/36
indice (de la même manière que pour un tuple) : mon_tableau[i]
Un tableau étant modifiable, il est possible de modifier un tableau en changeant par exemple la valeur de
l'un de ses éléments désigné avec la notation "entre crochets".
On peut ajouter un élément à la fin d'un tableau existant avec la méthode append:
mon_tableau.append(valeur_a_ajouter)
On peut supprimer un élément d'un tableau avec l'instruction del (pour l'anglais delete), en
précisant l'indice i de l'élément à supprimer :
del mon_tableau[i]
On peut connaître la taille d'un tableau (= le nombre d'éléments contenus dans le tableau) avec
l'instruction len (de l'anglais "length") :
len mon_tableau
Modifier le tableau initial pour arriver à [1, 3, 5, 7, 9], et vérifier que votre tableau final contient bien 5
éléments.
Entrée 29 :
Une petite parenthèse : on pourrait s'interroger sur l'intérêt d'utiliser un tuple puisque le tableau permet
plus de choses!
Quand vous savez que votre tableau ne sera pas modifié (cas d'un relevé de valeurs par exemple), il est
préférable d'utiliser un tuple à la place d'un tableau.
La boucle for ... in ...permet de parcourir chacun des éléments d’une séquence (tableau ou tuple) : testez
donc le code suivant :
monTableau = [3, 7, 12, 98]
Entrée 30 : for element in monTableau :
print(element)
21/36
Quelques explications : comme son nom l'indique, la boucle "for" est une boucle !
Nous "sortirons" de la boucle une fois que tous les éléments du tableau mon_tab auront été parcourus.
Elément est une variable qui va :
Une chose importante à bien comprendre : le choix du nom de la variable qui va référencer les éléments
du tableau les uns après les autres (élément) est totalement arbitraire, il est possible de choisir un autre
nom sans aucun problème, le code suivant donne exactement le même résultat :
monTableau = [3, 7, 12, 98]
Entrée 31 : for toto in monTableau :
print(toto)
La fonction range()
Dans la boucle for... in..., il est possible d’utiliser la fonction prédéfinie range() à la place d’un tableau
d’entiers, comme dans le code ci-dessous :
for element in range(0, 5) :
Entrée 32 : print (element)
Comme vous pouvez le constater, range(0,5) est, au niveau de la boucle "for..in", équivalent au tableau
[0,1,2,3,4]
Ecrire un bout de code "générateur de punition" (50 fois "je ne dois pas utiliser que la boucle while") en
utilisant cette fois une boucle for... in...
Entré
e 33 : Tester ce code sur https://repl.it/languages/python3
22/36
Il est possible d'utiliser la méthode "range()" pour "remplir" un tableau. Créer les tableaux [0, 1, 2, 3, 4, 5,
6] et [0, 2, 4, 6, 8, 10, 12] en utilisant range(). Testez le programme suivant :
tableau1= []
Entrée 34 : tableau2= []
for i in range(7):
tableau1.append(i)
tableau2.append(i*2)
print(tableau1)
print(tableau2)
mon_tab = [5, 8, 6, 9]
print(mon_tableau)
Proposer une façon de générer le tableau [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024] en une ligne par
compréhension :
Entr
ée
36 :
Les compréhensions de tableau permettent de construire un tableau à partir d'un tableau existant, voire
de rajouter une condition (if) : 23/36
En complétant le code ci-dessous, afficher quel est le contenu du tableau référencé par la variable
mon_tab après l'exécution du programme ci-dessous ?
Entrée 37 : l = [1, 7, 9, 15, 5, 20, 10, 8]
mon_tab = [2*p for p in l if p > 10]
Chaque élément d'un tableau peut être un tableau, on parle de tableau de tableau.
Le premier élément du tableau ci-dessus est bien un tableau ([1, 3, 4]), le deuxième élément est aussi un
tableau ([5, 6, 8])...
Il est souvent plus pratique de présenter ces "tableaux de tableaux" comme suit :
m = [[1, 3, 4],
[5, 6, 8],
[2, 1, 3],
[7, 8, 15]]
Nous obtenons ainsi quelque chose qui ressemble beaucoup à un "objet mathématique" très utilisé : une
matrice.
Il est évidemment possible d'utiliser les indices de position avec ces "tableaux de tableaux". Pour cela nous
allons considérer notre tableau de tableaux comme une matrice, c'est à dire en utilisant les notions de
"ligne" et de "colonne". Dans la matrice ci-dessus :
Pour cibler un élément particulier de la matrice, on utilise la notation avec "doubles crochets" : m[ligne]
[colonne] (sans perdre de vue que la première ligne et la première colonne ont pour indice 0)
Nota Bene : les valeurs d'un tableau de tableaux construit à partir de tableaux sont modifiées lors de la
modification du tableau utilisé pour le construire.
Vous n'avez pas compris la phrase précédente ?? moi non plus en fait... espérons que l'exemple vous
parlera mieux :
m[0] = 4
Comme vous pouvez le constater, la modification du tableau référencé par la variable m entraine la
modification du tableau référencé par la variable mm (alors que nous n'avons pas directement modifié le
tableau référencé par mm).
Il faut donc être très prudent lors de ce genre de manipulation afin d'éviter des modifications non désirées.
Cela devra se faire avec une "double boucle for... in ..." : essayez d'écrire un bout de code affichant un à un
tous les éléments du tableau suivant :
for
25/36
Avec l'exemple d'un fichier texte fichier1.txt, présent dans le même répertoire que ce tutoriel, nous allons
récupérer le contenu de ce fichier pour l'utiliser dans un programme python.
Dans la suite du code le fichier ouvert est référencé par la variable fichier comme indiqué dans le code
... as fichier :
Il s'agit alors de lire le contenu de fichier avec la méthode read() en l'affectant à une variable de type
'chaîne de caractères' appelée contenu :
Affecter donc ci-dessous le contenu du fichier fichier1.txt à la variable contenu puis afficher le contenu de
cette variable :
Entrée 41 :
Le caractère "retour à la ligne", appelé caractère d'échappement est le caractère spécial : "\n".
On peut le supprimer en le remplaçant par une chaine vide avec la méthode replace() appliquée à une
chaîne de caractères selon la syntaxe suivante :
Il est possible de travailler avec un fichier texte contenant plusieurs lignes de données : le fichier
fichier3.txt contient plusieurs lignes de données (vous pouvez le vérifier en l'ouvrant dans un simple
éditeur de texte).
Il est alors possible de récupérer les données ligne par ligne à l'aide d'une boucle for :
with open('monGrandFichier.txt','r') as f :
for ligne in f: 27/36
print(ligne)
Essayez de parcourir le fichier fichier3.txt ligne par ligne, en supprimant à chaque ligne les caractères de
retour à la ligne.
Entré
e 44:
with open('../fichier3.txt','r') as f :
contenu=""
for ligne in f:
contenu=contenu+ligne.replace("/n","")
print(contenu)
Quitte à faire, on peut stocker la succession d'informations que constituent les lignes d'un fichier dans un
tableau. C'est pratique pour s'y référer ou pour les parcourir par la suite.
Wowww ! Vous avez vu au dessus ? On peut parler tranquillement en français au milieu du code !!
Le fait de commenter son code (dans n'importe quel langage de programmation) est une TRES TRES TRES
BONNE PRATIQUE à adopter lorsqu'on écrit un programme qui commence à faire plus de 10 lignes.
permet d'être au clair sur ce qu'on est en train de coder : si on sait exprimer clairement ce qu'on
attend de la ligne, de la fonction ou du bloc d'instructions, on a plus de chances de taper les
instructions de façons rigoureuse et précise et d'éviter des comportements non attendus du
29/36
programme (=bugs)
permet de comprendre ce qu'on a voulu faire lorsqu'on réutilise un code qu'on a tapé la veille, ou la
semaine précédente, ou l'année dernière...
permet aux autres qui voudront réutiliser mon code plus tard de s'y retrouver,
etc.
"""pour faire
un commentaire "multignes"
il doit être compris entre
3 guillemets (au début et à la fin)"""
# Allez, on s'arrête là
print("au revoir")
Le code ci-dessous illustre le fait que ce qu'on vient de vous dire n'est pas faux :
Entrée 48 : # Ceci est un commentaire d'une ligne, il commence par un dièse "#"
print("Bonjour")
"""pour faire
un commentaire "multignes"
il doit être compris entre
3 guillemets (au début
et à la fin)"""
# Allez, on s'arrête là
print("au revoir")
Typiquement, il est plus facile de comprendre le code commenté ci-dessous et au passage de découvrir la
fonction input() qui permet à l'utilisateur de saisir une information, qui sera de type string (chaine de
caractères), que s'il avait été tapé sans aucuns commentaires :
# Interrogation de l'utilisateur
monNom=input("Quel est votre nom ? ")
# Appel de la fonction monMessage
msg = monMessage(monNom)
# Affichage du message personnalisé de bienvenue 31/36
print(msg)
Python >= 3.5 # La fonction monMessage permet d'afficher un message
# Interrogation de l'utilisateur
monNom=input("Quel est votre nom ? ")
La librairie matplotlib permet de tracer "facilement" des graphiques (courbes, histogrammes, camemberts,
surfaces, etc.)
Elle est importée ci dessous via le module pylab, qui ramène en même temps numpy et math...
32/36
Trouver une multitude d’exemples d'utilisations et tutoriels sur le web, par exemple un en français ici:
https://python.doctor/page-creer-graphiques-scientifiques-python-apprendre
Le principe de base est de créer 2 tableaux contenant pour l'un les valeurs des abscisses et pour l'autre
celles des ordonnées.
Dans l'exemple ci dessous, le temps est en abscisse dans un tableau "t", l'ordonnée est calculée dans le
tableau "s" :
# On trace la courbe
plot(t, s) 33/36
# On affiche le tout
show()
Dans cet exemple les modules matplotlib et numpy sont importés séparément...
# Conditions initiales
g = -9.81
x0 = 0
y0 = 0
vx0 = 5
vy0 = 50
Et voilà, vous savez maintenant faire déjà pas mal de choses avec python. L'idée maintenant est de lancer
un petit projet de code : écrire de A à Z un programme.
Les thèmes peuvent être nombreux (scientifiques, ludiques...), je vous propose de partir sur un petit jeu.
le programme choisit au hasard un nombre entre 0 et 100, vous devez le retrouver en faisant des
propositions de nombres avec un retour "trop grand" ou "trop petit"
35/36
faire un jeu de chi-fou-mi : l'utilisateur rentre un choix entre "papier", "caillou" ou "ciseau",
l'ordinateur choisit également et donne le résultat "victoire/nul/défaite" et compte les points : le
premier à 3 gagne la partie,
un lien vers la page de documentation de la fonction random(), qui sert à tirer un nombre au hasard
: https://docs.python.org/3/library/random.html
Vous pouvez faire ce projet en utilisant un environnement de programmation python, il en existe des tas, à
choisir parmi ceux installés dans votre établissement :
il est intéressant avant de se lancer dans le code de dresser un tableau récapitulatif des variables
dont on pense avoir besoin dans le programme en précisant : nom, type, description pour chaque
variable
donnez des noms EXPLICITES à vos variables : s'il peut sembler un gain de temps de nommer ses
variables avec un nom vite tapé a, b, c, etc., il est bien plus compréhensible à terme de savoir à quoi
correspond une variable pointsDeVie, motMystere, lettresDejaProposees, etc. Le temps passé à
taper ces noms à rallonge est bien vite rattrapé lorsqu'il s'agit de relire et débuguer son code.
pensez à régulièrement commenter votre code : au bout d'un certain nombre de ligne de codes, les
commentaires aident réellement à se repérer dans son code pour débusquer les éventuelles
erreurs,
il peut être intéressant de découper son code en différentes fonctions chargées chacune de tâches
courtes bien définies plutôt que de se lancer dans une longue suite d'instructions sans fin qui
deviendra vite difficilement illisible.
36/36