Académique Documents
Professionnel Documents
Culture Documents
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) :
2
7.5- Les sorties (affichage)
En mode « calculatrice », Python lit-évalue-affiche, mais la fonction print() reste indispensable
aux affichages dans les scripts :
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 :
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 + " !"
prenom
prenom="Ali"
prenom
age = 40
age
age = 22
age
age = age + 1
age
6
phrase1
phrase2
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