Vous êtes sur la page 1sur 6

TP : PROGRAMMATION PYTHON

1. PRESENTATION DU LANGAGE PYTHON


- Que savez-vous de Python ? (En quelques lignes)
- Comment testez-vous que Python est bien installé sur votre ordinateur ?
- Définissez les concepts de variable et de fonction. Donnez-en des exemples simples.
2. VARIABLES :
2.1. Rappel de cours d’algorithmique :
Un algorithme manipule des données. Ces données ne sont pas connues au moment où on écrit
l’algorithme. Les variables servent à nommer ces données afin de pouvoir écrire cet algorithme.
On procède la plupart du temps dans l’ordre suivant :
 On écrit l’algorithme.
 On affecte des valeurs aux variables.
 On exécute l’algorithme.

2.2. Analyser un code


Dites ce que fait chaque exemple de codes ci-dessous et donnez les résultats.
Code1 :
x = 2
y = x + 1
print (y)
x += 5
print (x)

Code2 :
a = 10
print (a)
print ("a")
s = "texte"
s += "c"
print (s)

Code3 :
a = 5
a + 4
print (a)

2.3. Prédire le résultat


Essayez de prédire le résultat de chacune des instructions suivantes, puis vérifiez-le dans
l'interpréteur Python :
 (1+2)**3
 "Da" * 4
 "Da" + 3
 ("Pa"+"La") * 2
 ("Da"*4) / 2
 5 / 2
 5 // 2
 5 % 2

1
Essayez de prédire le résultat de chacune des instructions suivantes, puis vérifiez-le dans
l'interpréteur Python :
 str(4) * int("3")
 int("3") + float("3.2")
 str(3) * float("3.2")
 str(3/4) * 2

3. LES INSTRUCTIONS
3.1. Que fait chaque exemple de codes ?
Code1 :
N1=int(input("Entrez la note 1"))
N2=int(input("Entrez la note 2"))
N3=int(input("Entrez la note 3"))

Code2 :
a= int ( input (" saisir a : "))
b= int ( input (" saisir b : "))
if a >0 and b >0 or a <0 and b <0 :
print ("le produit est positif")
else :
print ("le produit est negatif")
Code2 :
a = 0
if a > 0 :
... print "a est positif"
... elif a < 0 :
... print "a est négatif"
... else:
... print "a est nul"

4. LES LISTES
4.1. Jours de la semaine
Constituez une liste semaine contenant les 7 jours de la semaine.
1. À partir de cette liste, comment récupérez-vous seulement les 5 premiers jours de la
semaine d'une part, et ceux du week-end d'autre part ? Utilisez pour cela l'indiçage.
2. Cherchez un autre moyen pour arriver au même résultat (en utilisant un autre indiçage).
3. Trouvez deux manières pour accéder au dernier jour de la semaine.
4. Inversez les jours de la semaine en une commande.
4.2. Nombres pairs
Répondez à la question suivante en une seule commande. Combien y a-t-il de nombres pairs dans
l'intervalle [2, 10000] inclus ?
4.3. Table de multiplication par 9
Affichez la table de multiplication par 9 en une seule commande avec les instructions range() et
list().

4.4. Tri de liste

2
Soit la liste de nombres [8, 3, 12.5, 45, 25.5, 52, 1]. Triez les nombres de cette liste par
ordre croissant, sans utiliser la fonction sort(). Les fonctions et méthodes min(), .append() et
.remove() vous seront utiles.

5. TESTS
5.1. Notes et mention d'un étudiant
Voici les notes d'un étudiant : 14, 9, 13, 15 et 12. Créez un script qui affiche la note maximum
(utilisez la fonction max()), la note minimum (utilisez la fonction min()) et qui calcule la moyenne.
Affichez la valeur de la moyenne avec deux décimales. Affichez aussi la mention obtenue sachant
que la mention est « passable » si la moyenne est entre 10 inclus et 12 exclus, « assez bien » entre
12 inclus et 14 exclus et « bien » au-delà de 14.
5.2. Nombres pairs
Construisez une boucle qui parcourt les nombres de 0 à 20 et qui affiche les nombres pairs
inférieurs ou égaux à 10 d'une part, et les nombres impairs strictement supérieurs à 10 d'autre part.
Pour cet exercice, vous pourrez utiliser l'opérateur modulo % qui renvoie le reste de la division
entière entre deux nombres et dont voici quelques exemples d'utilisation :
>>> 4 % 3
1
>>> 5 % 3
2
>>> 4 % 2
0
>>> 5 % 2
1
>>> 6 % 2
0
>>> 7 % 2
1
Vous remarquerez qu'un nombre est pair lorsque le reste de sa division entière par 2 est nul.

6. TUPLES ET DICTIONNAIRES

1. Définir un type « NOTE » composé d’une matière, d’une note et d’un coefficient en utilisant
un dictionnaire,
2. Afficher la valeur du champ note,
3. Supprimer le champ coefficient et afficher l’enregistrement.

7. BOUCLES ET COMPARAISONS
7.1. Boucles de base
Soit la liste ["vache", "souris", "levure", "bacterie"]. Affichez l'ensemble des éléments
de cette liste (un élément par ligne) de trois manières différentes (deux avec for et une avec
while).

7.2. Boucle et jours de la semaine


Constituez une liste semaine contenant les 7 jours de la semaine.
Écrivez une série d'instructions affichant les jours de la semaine (en utilisant une boucle for), ainsi
qu'une autre série d'instructions affichant les jours du week-end (en utilisant une boucle while).
7.3. Nombres de 1 à 10 sur une ligne
Avec une boucle, affichez les nombres de 1 à 10 sur une seule ligne.

3
7.4. Nombres pairs et impairs
Soit impairs la liste de nombres [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21]. Écrivez un
programme qui, à partir de la liste impairs, construit une liste pairs dans laquelle tous les
éléments de impairs sont incrémentés de 1.
7.5. Calcul de la moyenne
Voici les notes d'un étudiant [14, 9, 6, 8, 12]. Calculez la moyenne de ces notes. Utilisez
l'écriture formatée pour afficher la valeur de la moyenne avec deux décimales.

8. LES FICHIERS
8.1. Moyenne des notes
Créez un fichier notes.txt devant contenir les notes obtenues par des étudiants pour le cours de
Python. Enregistrez-le dans votre répertoire de travail.
Chaque ligne du fichier ne contient qu'une note. Ouvrez-le avec un éditeur de texte pour y saisir
les notes suivantes :
13.5, 17, 9.5, 12, 14, 6, 5.5, 8.5, 10.5, 19, 14, 9, 15.5, 11.5, 16, 18, 13, 12.5, 15.5, 17
Créez un script Python qui lit chaque ligne de ce fichier, extrait les notes sous forme de float et les
stocke dans une liste.
Améliorez le script en calculant et affichant la moyenne des notes avec deux décimales.
Le script réécrira ensuite les notes dans le fichier notes2.txt avec une note par ligne suivie de «
recalé » si la note est inférieure à 10 et « admis » si la note est supérieure ou égale à 10. Toutes les
notes seront écrites avec une décimale. À titre d'exemple, voici les 3 premières lignes attendues
pour le fichier notes2.txt :
13.5 admis
17.0 admis
9.5 recalé

9. LES MODULES
9.1. Traduire un algorithme en Python et exécuter
ALGORITHME PrixAPayer
CONSTANTES
TP=0,02 /*taux du transport pour PP<50000*/
TR1=0,05/*taux de remise pour 20000<PP<100000*/
TR2=0,1/*taux de remise pour 100000<PP*/
VARIABLES
PU : ENTIER
Qtecom, REM, PORT, PAP, PP : REEL
DEBUT
/*Saisie du prix unitaire et de la quantite commandee*/
ECRIRE (" ENTREZ LE PRIX UNITAITE ")
LIRE(PU)
ECRIRE (" ENTREZ LA QUANTITE DU PRODUIT ")
LIRE(Qtecom)
/*calcul du prix des produits*/
PPPU*Qtecom
/*calcul du prix du transport*/

4
SI PP>50000 ALORS
PORT0
SINON
PORTPP*TP
FINSI
/*calcul du prix de la remise*/
SI PP>100000 ALORS
REMPP*TR2
SINON
SI PP>20000 ALORS
REMPP*TR1
SINON
REM0
FINSI
FINSI
PAPPP+PORT-REM
ECRIRE("LE PRIX TOTAL DES PRODUITS EST : ",PP, "FCFA")
ECRIRE("LE PRIX DU TRANSPORT EST : ",PORT, " FCFA ")
ECRIRE("AVEC UNE REMISE DE : ", REM , " FCFA ,LE PRIX À PAYER EST :
",PAP, " FCFA ")
FIN

9.2. Il faut maintenant écrire trois programmes :


 Un programme qui calcule la somme des 10 premiers entiers au carré.
 Un programme qui calcule la somme des 5 premiers entiers impairs au carré.
 Un programme qui calcule la somme des qui 10 premières factorielles : .

10. LES FONCTIONS


10.1. Carré et factorielle

Reproduisez et exécutez le code ci-dessous :


# définition d'une fonction carre()
def carre(x):
y = x**2
return y

# programme principal
z = 5
resultat = carre(z)
print(resultat)

Analysez ensuite le code suivant et tentez de prédire sa sortie :


def calc_factorielle(n):
fact = 1
for i in range(2, n+1):
fact = fact * i
return fact

# programme principal
nb = 4
factorielle_nb = calc_factorielle(nb)
print(f"{nb}! = {factorielle_nb}")

5
nb2 = 10
print(f"{nb2}! = {calc_factorielle(nb2)}")

Testez enfin cette portion de code en cherchant à bien comprendre chaque étape. Avez-vous réussi
à prédire la sortie correctement ?

10.2. Prédire la sortie


Prédisez le comportement des codes suivants, sans les recopier dans un script ni dans l'interpréteur
Python :
Code 1
def hello(prenom):
print(f"Bonjour {prenom}")

# Programme principal.
hello("Patrick")
print(x)
Code 2
def hello(prenom):
print(f"Bonjour {prenom}")

# Programme principal.
x = 10
hello("Patrick")
print(x)
Code 3
def hello(prenom):
print(f"Bonjour {prenom}")
print(x)

# Programme principal.
x = 10
hello("Patrick")
print(x)
Code 4
def hello(prenom):
x = 42
print(f"Bonjour {prenom}")
print(x)

# Programme principal.
x = 10
hello("Patrick")
print(x)
10.3. Passage de liste à une fonction
Créez une fonction ajoute_nb_alea() qui prend en argument une liste et qui ajoute un nombre
entier aléatoire entre -10 et 10 (inclus) à chaque élément. La fonction affichera à l'écran cette
nouvelle liste modifiée.
Dans le programme principal, on effectuera les actions suivantes :
1. Créez une variable ma_liste = [7, 3, 8, 4, 5, 1, 9, 10, 2, 6].
2. Affichez ma_liste à l'écran.
3. Appelez la fonction ajoute_nb_alea() en lui passant ma_liste en argument.
4. Affichez à nouveau ma_liste à l'écran.
Comment expliquez-vous le résultat obtenu ?

Vous aimerez peut-être aussi