Exercices sur les listes :
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.
Correction
1) jours = ['lun','mar','mer','jeu','ven','sam','dim']
jours[0:5]
jours[:5]
jours[5:7]
2) jours[-2:]
3) jours[len(jours)-1]
jours[-1]
4) jours.reverse()
jours
Saisons
Créez 4 listes hiver, printemps, ete et automne contenant les mois correspondants à ces saisons.
Créez ensuite une liste saisons contenant les listes hiver, printemps, ete et automne. Prévoyez ce
que renvoient les instructions suivantes, puis vérifiez-le dans l'interpréteur :
1. saisons[2]
2. saisons[1][0]
3. saisons[1:2]
4. saisons[:][1]. Comment expliquez-vous ce dernier résultat ?
Correction :
hiver = [ 'décembre', 'janvier', 'février' ]
printemps = [ 'mars', 'avril' , 'mai' ]
ete = [ 'juin', 'juillet', 'aout' ]
automne = [ 'septembre', 'octobre', 'novembre' ]
saisons = [ hiver, printemps, ete, automne ]
Vérifier le résultat des différents instructions dans votre interpréteur.
Table de multiplication par 9
Affichez la table de multiplication par 9 en une seule commande avec les instructions range() et list().
Correction :
List(range(9,90+1,9))
2ème méthode avec une boucle :
for i in range(1,10):
print(i , " x ", 9, " = ",i*9)
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 ?
Correction :
len(list(range(2,10000+1,2)))
Exercices sur les boucles et les comparaisons :
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 façons différentes (deux méthodes avec for et une avec while).
Correction :
Méthode1 :
liste= ["vache", "souris", "levure", "bacterie"]
for i in range(len(liste)) :
print(liste[i]))
Deuxième méthode : Utilisation d’une boucle for avec l’itération directe sur les éléments de la liste
liste= ["vache", "souris", "levure", "bacterie"]
for element in liste :
print(element)
Méthode 3 : Utilisation d’une boucle while :
liste= ["vache", "souris", "levure", "bacterie"]
i=0
while i<len(liste) :
print(liste[i])
i+=1
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).
Correction :
boucle for :
semaine = [‘lundi’,’mardi’,’mercredi’,’jeudi’,’vendredi’,’samedi’,’dimanche’]
for element in semaine :
print(element)
boucle while :
semaine = [‘lundi’,’mardi’,’mercredi’,’jeudi’,’vendredi’,’samedi’,’dimanche’]
i=0
while i<2 :
print(semaine[-i-1])
i+=1
Nombres de 1 à 10 sur une ligne
› Avec une boucle, affichez les nombres de 1 à 10 sur une seule ligne.
› Conseil : n'hésitez pas à relire le chapitre Affichage qui discute de la fonction print().
Correction :
for i in range(1,10+1) :
print(i,end=’ ‘)
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.
Correction :
impairs = [1,3,5,7,9,11,13,15,17,19,21]
pairs = []
for element in impairs :
pairs.append(element+1)
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.
Correction :
notes = [14,9,6,8,12]
print(f"La moyenne est : {sum(notes)/len(notes) : .2f}")
Exercices sur les tests :
Jours de la semaine
› Constituez une liste semaine contenant le nom des sept jours de la semaine.
› En utilisant une boucle, écrivez chaque jour de la semaine ainsi que les messages suivants :
– Au travail s'il s'agit du lundi au jeudi ;
– Chouette c'est vendredi s'il s'agit du vendredi ;
– Repos ce week-end s'il s'agit du samedi ou du dimanche.
Semaine = [‘lundi’,’mardi’,’mercredi’,’jeudi’,’vendredi’,’samedi’,’dimanche’]
for element in semaine :
print(element)
if element ==’lundi’ or element==’mardi’ or element ==’mercredi’ or element==’jeudi’ :
print("Au travail")
elif element==’vendredi’ :
print("C’est vendredi")
else :
print("Repos ce week-end")
Minimum d'une liste
› La fonction min() de Python renvoie l'élément le plus petit d'une liste constituée de valeurs
numériques ou de chaînes de caractères. Sans utiliser cette fonction, créez un script qui
détermine le plus petit élément de la liste [8, 4, 6, 1, 5].
liste = [8,4,6,1,5]
i=0
min_liste =liste[i]
i+=1
while i<len(liste) :
if liste[i]<min_liste :
min_liste=liste[i]
i+=1
print("le minimum des la liste est : ",min_liste)
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.
notes = [14,9,13,15,12]
print("La note maximale est : ",max(notes))
print("La note minimale est : ",min(notes))
moyenne = sum(notes)/len(notes)
if moyenne>=10 and moyenne<12 :
mention = "Mention Passable"
elif moyenne>=12 and moyenne<14 :
mention = "Assez bien"
else :
mention = "Bien »
print(f"La moyenne est : {moyenne :2f} La mention est : {mention}")
Exercices sur les fichiers :
Moyenne des notes
› Le fichier notes.txt contient les notes obtenues par des étudiants pour le cours de Python.
Chaque ligne du fichier ne contient qu'une note.
› Ecrire le fichier notes.txt et enregistrez-le dans votre répertoire de travail. N'hésitez pas à
l'ouvrir avec un éditeur de texte pour voir à quoi il ressemble.
› 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.
› Terminez le script en calculant et affichant la moyenne des notes avec deux décimales.
Correction :
notes =[]
with open(‘notes.txt’, ‘r’) as filin
for ligne in filin :
notes.append(float(ligne))
print(f"La moyenne est : {sum(notes)/len(notes) : .2f}")