Exercice 02 : Correction de programmes 5 pts
Programme A - Erreurs identifiées :
Erreur : La variable moyenne n'est pas définie dans la portée globale.
La variable est locale à la fonction, mais on tente de l'afficher hors de la fonction.
Code corrigé :
def calculer_moyenne(notes):
total = 0
for i in range(len(notes)):
total += notes[i]
moyenne = total / len(notes)
return moyenne
# Test
liste_notes = [12, 15, 8, 14]
resultat = calculer_moyenne(liste_notes)
print("La moyenne est :", resultat)
def calculer_moyenne(notes):
return sum(notes) / len(notes)
liste_notes = [12, 15, 8, 14]
print("La moyenne est :", calculer_moyenne(liste_notes))
Programme B - Erreurs identifiées :
Erreur 1 : Opérateur d'affectation = au lieu de comparaison ==
Erreur 2 : La fonction input() renvoie une chaîne, pas un entier
Code corrigé :
def verifier_pair(nombre):
if nombre % 2 == 0:
return True
else:
return False
# Tests
nb = int(input("Entrez un nombre : "))
if verifier_pair(nb):
print("Pair")
else:
print("Impair")
def verifier_pair(nombre):
return nombre % 2 == 0
nb = int(input("Entrez un nombre : "))
print("Pair" if verifier_pair(nb) else "Impair")
Problème : Manipulation de listes - Villes du Cameroun 10 pts
villes = ["Douala", "Yaoundé", "Bafoussam", "Garoua", "Maroua",
"Ngaoundéré", "Bamenda", "Limbe", "Kribi", "Bertoua"]
Partie 1 : Opérations de base
1. 3ème ville :
print(villes[2])
2. 4 premières villes :
print(villes[:4])
3. Modifier "Limbe" → "Edea" :
villes[7] = "Edea"
print(villes)
4. Ajouts :
villes.append("Foumban")
villes.insert(4, "Ebolowa")
print(villes)
Partie 2 : Traitements avancés
5. Liste villes_sud :
villes_sud = villes[-3:]
villes_sud.append("Edea")
print(villes_sud)
6. Ordre alphabétique :
print(sorted(villes))
7. Compter les villes avec 'a' :
compteur = sum(1 for ville in villes if 'a' in ville.lower())
print(compteur)
8. Villes de plus de 6 lettres :
villes_filtrees = [ville for ville in villes if len(ville) > 6]
print(villes_filtrees)
Partie 3 : Algorithmie
9. Fonction rechercher_ville() :
def rechercher_ville(liste, nom):
return nom in liste
# OU version avec boucle (plus pédagogique) :
def rechercher_ville(liste, nom):
for ville in liste:
if ville == nom:
return True
return False
10. Vérifications :
print(rechercher_ville(villes, "Bamenda"))
print(rechercher_ville(villes, "Dschang"))
BONUS - Villes aux indices pairs :
villes_pairs = [villes[i] for i in range(0, len(villes), 2)]
phrase = "Les villes aux positions paires sont : " + ", ".join(villes_pairs)
print(phrase)
Résultat attendu : "Les villes aux positions paires sont : Douala, Bafoussam, Maroua, Bamenda, Kribi"