Vous êtes sur la page 1sur 12

CHAPITRE 1 : introduction à la programmation en python

1- Les langages de différents niveaux


Le langage machine. Il est formé de 0 et de 1 et n’est pas portable, mais c’est le seul que
l’ordinateur puisse comprend
• le langage d’assemblage est un codage alphanumérique du langage machine. Il est plus lisible
que le langage machine, mais n’est toujours pas portable. On le traduit en langage machine par
un assembleur ;
• les langages de haut niveau. Souvent normalisés, ils permettent le portage d’une machine à
l’autre.Ils sont traduits en langage machine par un compilateur ou un interpréteur.
2- Bref historique des langages
• Années 50 (approches expérimentales) : FORTRAN, LISP, COBOL, ALGOL. . .
• Années 60 (langages universels) : PL/1, Simula, Smalltalk, Basic. . .
• Années 70 (génie logiciel) : C, PASCAL, ADA, MODULA-2. . .
• Années 80 (programmation objet) : C++, LabView, Eiffel, Perl, VisualBasic. . .
• Années 90 (langages interprétés objet) : Java, tcl/Tk, Ruby, Python. . .
• Années 2000 (langages commerciaux propriétaires) : C#, VB.NET. . .
3- Historique
• Date de naissance : 1990 Père : Guido Van Rossum (Pays-Bas)
– 1996 : sortie de Numerical Python
– 2001 : naissance de la PSF (Python So ware Fundation)
– Les versions se succèdent.
4- Les avantages de Python
• langage de haut niveau • portable sur tous les systèmes d’exploitation • typage dynamique :
pas besoin de déclarer le type des variables ! • extensible (interfaçable avec d’autres
bibliothèques et modules) • sous licence libre • syntaxe « très simple »
5- Compilation et interprétation
Il existe deux techniques pour effectuer la traduction d'un programme source en code binaire
exécutable par la machine : l'interprétation et la compilation.
Dans la technique d’interprétation, le logiciel interpréteur doit être utilisé chaque fois que l'on
veut faire fonctionner le programme.
• La compilation consiste à traduire la totalité du texte source en une fois.
Programme : un programme est la traduction d’un algorithme en un langage compilable ou
interprétable par un ordinateur.
6- Installation de python on va utiliser la distribution pizzohttp://www.pyzo.org/
Les deux modes d’exécution d’un code Python
Soit on enregistre un ensemble d’instructions Python dans un fichier grâce à un éditeur (on parle
alors d’un script Python)
• soit on utilise l’interpréteur Python embarqué qui exécute la boucle d’évaluation

1
7- Les instructions de base en python
7.1- Déclaration et Typage des variables
Une variable est un identificateur associé à une valeur. En Python, c’est une référence d’objet
Un identificateur Python est une suite de caractères commence par un alphabet qui ne contient
ni espace ni caractères spéciaux ni mots clé, il est sensible à la casse
Les variables Python sont créés lors de leur première affectation, sans déclaration préalable, Les
variables Python ne sont donc pas associés à des types, mais les valeurs qu'elles contiennent
>>> n = 7 # affectation d'un entier
>>> msg = "Quoi de neuf ?" # Affectation d'une chaine
>>> pi = 3.14159 # affectation d'un flottant
Les différents types de données :
Les entiers :int Les réels :float Logique :bool(True , False) Texte : str
7.2- Pour savoir de quel type une variable : type(nom_de_la_variable)
>>> a = 3 >>> type(a) <class 'int'>
>>> type(3.4) <class 'float'>
>>> type("un essai") <class 'str'>
7.3- Affectation : On affecte une variable par une valeur en utilisant le signe = (qui n’a rien à voir
avec l’égalité en math !)
a = 2 # prononcez : a "reçoit" 2
c = b * a # prononcez : c "reçoit" b*a
- Les variantes de l’affectation
>>>x = y = 3 >>>x 3 >>> a, b = 4, 8.33 >>> a=5
>>>y 3 >>> a 4 >>>b = 32
>>> b >>a,b = b,a # permutation
8.33 >>>a
32>>>b5
7.4- Les entrées (lecture)
Il s’agit de réaliser une saisie au clavier : la fonction input() interrompt le programme, afficheune
éventuelle invite à l’écran et attend que l’utilisateur entre une donnée au clavier (affichée à
l’écran) et la valide par Entrée
La fonction standard input() effectue toujours une saisie en mode texte (la valeur retournée est
une chaîne) dont on peut ensuite changer le type (on dit aussi transtyper) :

>>> f1 = input("Entrez >>> f2= float(input("Entrez un autre >>> f1 = int(input("Entrez un


un flottant : ") flottant : ")) entier : "))
Entrez un flottant : Entrez un autre flottant : 12.345 Entrez un entier : 12
12.345 >>> type(f2) >>> type(f1)
>>> type(f1) <class 'float'> <class 'int'>
<class 'str'>

2
7.5- Les sorties (affichage)
En mode « calculatrice », Python lit-évalue-affiche, mais la fonction print() reste indispensable
aux affichages dans les scripts :

a, b = 2, 5 print(a,b,sep='@') # pour afficher autre chose qu'un


print(a, b) 2 5 2@5 espace en fin de ligne : print(a,
print("Somme :", a + b) print(a,b,end='@') 2 end="@"); print(b)
Somme : 7 5@ 2@3

7.6- Opérateurs de comparaison


• x == y # x est égal à y
• x != y # x est différent de y
• x > y # x est plus grand que y
• x < y # x est plus petit que y
• x >= y # x est plus grand que, ou égal à y
• x <= y # x est plus petit que, ou égal à y

7.7- Le symbole \ est spécial : il permet de transformer le caractère suivant :


• \n est un saut de ligne
• \t est une tabulation
• \b est un « backspace »
• \a est un « bip »
• \" est un « " » s="l’"un" génère erreur : s="l’\"un"
• \\ est un « \ »s= s="l\un" génère erreur : s="l\\un"

7.8- Opérations
• les opérations classiques +,-,*
• // division entière
• / division réelle
• % reste de la division entière
• divmod(x,y) quotient et reste de la division
• abs(x) valeur absolue
• pow(x,y) ou x**y puissance

3
TPN°1 : prise en main python
Tableau 1 : premières commandes python
instruction à taper résultat obtenu + explication
20+1
20/3
20//3
20%3
5.45*10
2**4
(3+2)*5
3+2*5
"il fait " + "beau"
"bonjour "*5
Astuce : pour éviter d'avoir à retaper toute une ligne, utilisez la flèche “haut” du clavier pour
vous positionner sur cette ligne, puis tapez “Entrée” : la ligne est recopiée après l'invite de
commande et vous pouvez la modifier avant de taper à nouveau “Entrée”.
Tableau 2 : premiers messages d'erreur
Certaines instructions ne sont pas acceptées par l'interpréteur python et provoquent l'affichage
d'un message d'erreur. Il faut lire attentivement tous les messages d'erreur (même s'ils sont en
anglais) car ces messages nous apprennent comment fonctionne le langage et nous aident à
corriger nos instructions et nos programmes. Tapez les instructions suivantes, observez les
erreurs obtenues et analysez-les :

instruction à erreur observée + explication


taper
20/0
20@3
"bonjour"/3
"bonjour" + 5
(3+2))*5
(3+2*5
Tableau 3 : les types de données
instruction à taper résultat obtenu + explication
type(3)
type(1.5)

4
type("bonjour")
type("3")
type(3+1.5)
Exercice 1 : opérateurs et types de données
Sur quels types de données peut-on utiliser les opérateurs + , * , / , // , % , ** ? Quel est le type du
résultat ? Répondre en complétant ci-dessous. Vous pouvez faire des tests en tapant d'autres
instructions dans l'interpréteur python.
(exemple : 3+7.1 est accepté par l'interpréteur python, donc l'opérateur + s'applique à un entier
et à un flottant, et le résultat est de type flottant).
opérate types de données utilisables type du résultat
ur
+
*
/
//
%
**

Pour les chaînes de caractères, l'opérateur + s'appelle la concaténation (il fusionne bout à bout
deux chaînes de caractères)
Tableau 4 : transtypage
On peut parfois transformer une donnée d'un certain type, en une donnée d'un autre type. Cela
s'appelle le transtypage (ou cast en anglais).
donnée de de quel type est instruction à taper type du résultat obtenu +Explication
départ la donnée de
départ ?
3.0 int(3.0)

3.5 int(3.5)

3 float(3)

4 str(4)

"3" int("3")

"3.5" float("3.5")

"3.5" int("3.5")

"bonjour" int("bonjour")

5
Tableau 5 : opérateur d'affectation =
instruction à taper quelle est la Quelle est la donnée De quel type est cette
variable ? (ou est le résultat de donnée (ou ce résultat)
l'évaluation de la partie ?
droite) ?
age = 20

age = 30

prenom="Ali"

taille_m = 1.75

taille_cm= 100*taille_m

age = age + 3

phrase1 ="bonjour"+
prenom
phrase1 = phrase1 + " !"

phrase2 = prenom +" a "


+str(age)+" ans."
Pour afficher le contenu d'une variable dans l'interpréteur python, il suffit de taper le nom de
cette variable. Taper les instructions suivantes et compléter :
instruction à taper quelle valeur contient
age

prenom

prenom="Ali"

prenom

age = 40

age

age = 22

age

age = age + 1

age

6
phrase1

phrase2

Tableau 6 : utilisation de la fonction input


instruction à taper commentaire
numero=input("entrez un
chiffre entre 1 et 5 : ")
type(numero)

numero = numero + 1

numero = int(numero)

type(numero)

numero = numero + 1

Tableau 7 : booléens
instruction à taper résultat obtenu + commentaire ou explication
1 == 1
1 == 3
1 != 3
1 == 1.0
(3+7) == (5*2)
(1 == 1) and (2<2)
(1 == 1) and (2<=2)
(2 == 15) or (3>2)
1 < 4 < 15
valeur = (1==1)
type(valeur)
not(valeur)
True and False
True or False

7
CHAPITRE 2 : Les structures conditionnelles
1- Test simple
Une instruction conditionnelle n’est exécutée que si une condition donnée est vérifiée. Pour
traduire cela, on utilise l’instruction if, qui a en Python la syntaxe suivante :
Syntaxe :
if condition: Exemple :
bloc d’instructions si condition vérifiés note=float(input("Note sur 20
: ")
#suite du programme
if note>=10.0 :
print(" j’ai la
moyenne ")
2- Indentation signifiante print("fin du programme ")
un bloc est une suite d’instructions qui s’exécutent les unes après les
autres. Pour identifier sans ambiguïté les instructions appartenant au bloc
du if, il est nécessaire de les indenter. Indenter signifie ajouter un même
nombre d’espaces devant chacune des lignes définissant les instructions.
Au sein d’un bloc, le niveau d’indentation doit être le même.
La première instruction qui suit une instruction conditionnelle et qui est
placée au même niveau d’indentation que l’instruction if marque la fin du
bloc
3- Test alternatif
Syntaxe
if condition: Exemple :
bloc d’instructions si la condition est vérifiée note=float(input("Note sur 20 : ")
if note>=10.0 :
else: print(" j’ai la moyenne ")
bloc d’instructions si la condition n’est pasvérifiée else :
#suite du programme print("C'est en dessous de la moyenne")
4- Test imbriqué
note = float(input("Note sur 20 : ") print("fin du programme ")
if note > 20.0 or note < 0.0:
print("Note invalide !")
else:
if note >= 10.0:
print("J'ai la moyenne")
if note == 20.0:
# ce bloc est exécuté si l'expression (note == 20.0) est vraie
print("C'est même excellent !")
else:
print("C'est en dessous de la moyenne")
if note == 0.0:
# ce bloc est exécuté si l'expression (note == 0.0) est vraie
print("... lamentable !")
print("Fin du programme")

8
5- L'instruction elif
Une instruction elif (contraction de else if) est toujours associée à une instruction if
Syntaxe
if condition 1:
bloc d'instructions 1
elif condition 2:
bloc d'instructions 2
elif condition 3:
bloc d'instructions 3
else:
bloc d'instructions 4
# suite du programme
Si condition 1 est vraie alors le bloc d'instructions 1 est exécuté, et on passe à la suite du
programme.
Si condition 1 est fausse alors on teste l'expression 2 :
si condition 2 est vraie on exécute le bloc d'instructions 2, et on passe à la suite du programme.
si condition 2 est fausse alors on teste la condition 3, etc.
Le bloc d'instructions 4 est donc exécuté si toutes les conditions sont fausses (c'est le bloc "par
défaut").
Parfois il n'y a rien à faire.
Dans ce cas, on peut omettre l'instruction else :
if condition1:
bloc d'instructions 1
elif condition2:
bloc d'instructions 2
elif condition3:
bloc d'instructions 3
# suite du programme
Exemple
note = float(input("Note sur 20 : "))
if note == 0.0:
print("C'est en dessous de la moyenne")
print("... lamentable !")
elif note == 20.0:
print("J'ai la moyenne")
print("C'est même excellent !")
elif note < 10.0 and note > 0.0: # ou bien : elif 0.0 < note < 10.0:
print("C'est en dessous de la moyenne")
elif note >= 10.0 and note < 20.0: # ou bien : elif 10.0 <= note < 20.0:
print("J'ai la moyenne")
else:
print("Note invalide !")
print("Fin du programme")

9
Tp N°2 : les structures conditionnelles
1-Écrire un programme python qui demande un entier à l’utilisateur, teste si ce nombre est
positif (>=0) ou non, et affiche “positif” ou “négatif”.
2-Écrire un programme python qui demande un entier à l’utilisateur, teste si ce nombre est
strictement positif, nul ou strictement négatif, et affiche ce résultat.
3-Écrire programme python qui teste si un nombre entier est pair ou impair
4-Un élève arrive en retard de T minutes : une décision sera prise à son égard, lorsque le retard
n’excède pas 5 minutes, il peut joindre sa classe sans billet d’entrée. Lorsque le retard
n’excède pas 10 minutes, il peut joindre sa classe avec un billet de retard. Si son retard excède
10 minutes pour la 1ère fois il rentre au cours suivant sans punition, sinon ( > 1 fois ) il rentre
au cours suivant avec avertissement.
Écrire un programme python qui permet de saisir :
- n : nombre de retard
- t : nombre des minutes en retard
et affiche la décision :
- sans billet
- billet de retard
- cours suivant sans punition
- cours suivant avec punition.
5-L’espérance de vie se calcule comme suit :
-Tout le monde commence à 85 ans d’espérance de vie
-Si la personne fume, elle perd 10 ans d’espérance de vie
-Si la personne a une pression sanguine supérieure à 120 mm, elle perd 2 ans d’espérance pour
chaque tranche complète de 20 mm en haut de 120. Par exemple, une personne qui fait
142 mm de pression perd 2 ans, une personne qui fait 152 mm perd 2 ans aussi, 160 mm : 4
ans, etc.
- Si la personne mange un nombre pair de kilos de bleuets (Plante à fleurs bleues) par année,
elle gagne 2 ans
Écrire un programme python qui demande à l’utilisateur les informations nécessaires, et
ensuite afficher l’espérance de vie de la personne.
6-Écrire un programme python qui demande à l’utilisateur de saisir le sexe (M/F), la taille
(cm), et le poids (kg) d’une personne et d’afficher :
1. PI, le poids idéal d’une personne, sachant que ce poids théorique est donné par la formule
de Lorenz comme
suit :
- Pour un homme : PI = (taille – 100) – (taille – 150) / 4
- Pour une femme : PI = (taille -100) – (taille – 120) /4
2. BMI, l’indicateur d’obésité (Body Mass Index) où BMI = poids / taille² avec taille en mètre
3. Si une personne est considérée comme : Normale (BMI <= 27), ou obèse (BMI > 27) ou
Malade (BMI >= 32)

10
CHAPITRE 3 : Les structures itératives en python (Les boucles)
1- Boucle while (tant que)
Syntaxe :
While (condition) :
Instructions
Exemple :
x=1
While x<10 :
Print ("x a pour valeur" ,x)
x=x*2
Print("fin")
2- Boucle for (pour)
syntaxe
For i in range (Vi,Vf,P):
Instructions
Range(Vi,Vf,p) # retourne les entiers de Vi à Vf-1, avec un pas de P
Range(Vi,Vf) # de même avec la valeur par défaut de p=1
Range(Vf) # de même avec la valeur par défaut de Vi=0 ;Range(Vf) permet d’énumérer les
entiers de 0 à Vf-1
Exemple
For i in range(10) :
Print ("bonjour")
3- Interrompre une boucle : break
Sort immédiatement de la boucle for ou while en cours contenant l'instruction :
for x in range(1, 11): # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
if x == 5:
break
print(x, end=" ")
print("\nBoucle interrompue pour x =", x)
# Affiche :
#1234
# Boucle interrompue pour x = 5
4- Court-circuiter une boucle : continue
Passe immédiatement à l'itération suivante de la boucle for ou while en cours contenant
l'instruction ; reprend à la ligne de l'en-tête de la boucle :
for x in range(1, 11): # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
if x == 5:
continue
print(x, end=" ")
print("\n La boucle a sauté la valeur 5")
# affiche :
# 1 2 3 4 6 7 8 9 10
# La boucle a sauté la valeur 5

11
Tp N°3 : les boucles
1-Écrire un programme python qui demande 10 entiers, compte le nombre d’entiers positifs
saisis
2-Écrire un programme python qui demande des entiers positifs à l’utilisateur, les additionne,
et qui s’arrête en affichant le résultat dès qu’un entier négatif est saisi.
3-le pgcd de 12 et 18 est 6 car les diviseurs de 12 sont {1 ;2 ;3 ;4 ;6 ;12} et les diviseurs de 18
sont {1 ;2 ;3 ;6 ;9 ;18}, et les diviseurs communs aux deux entiers sont {1 ;2 ;3 ;6}, et le plus
grand entier est bien 6. Ecrire un programme python pour déterminer le PGCD de deux
nombres entiers A et B : (Algorithmes des soustractions successives).
4-Écrire un programme python qui permet de retrouver le maximum et le minimum d’une liste
de nombres positifs saisis par l’utilisateur. La fin de liste est indiquée par un nombre négatif.
Exemple : 7 2 20 15 2 6 5 -1. Le maximum est 20, le minimum est 2.
5-Écrire un programme python qui affiche le nombre d’occurrences de la plus grande valeur,
Par exemple, pour la série 1 2 3 1 2 3 3 2 3 1 0, le max est 3 et il y a quatre occurrences de 3.
Dans la série 1 2 3 3 3 3 1 2 4 1 2 3 0, il y a une seule occurrence du maximum qui est 4.
6-Nombres parfaits : Un nombre est parfait s’il est égal à la somme de ses diviseurs stricts
(différents de lui-même). Ainsi par exemple, l’entier 6 est parfait car 6 = 1 + 2 + 3. Écrire un
programme python permettant de déterminer si un entier naturel est un nombre parfait.
7-Les nombres de Amstrong appelés parfois nombres cubes sont des nombres entiers qui ont
la particularité d’être égaux à la somme des cubes de leurs chiffres. Par exemple, 153 est un
nombre d’Amstrong car on a : 153 = 13 + 53 + 33:
Ecrire un programme python qui teste si un nombre est amstrong
8Écrire un programme python qui lit un nombre entier et détermine si celui‐ci est un nombre
premier.
9-Écrire un programme python qui étant donnée un entier positif ou nul, calcule la factorielle
de cet entier. Si l’entier est strictement négatif, on demandera à l’utilisateur de saisir un
nouvel entier. Rappel : La factorielle de n, notée n!, est : n ! = 1 * 2 * · · · *n
10-Écrire un programme python qui affiche
*
**
***
****
Pour un n=4

12

Vous aimerez peut-être aussi