✅ Correction de l’évaluation
Premier exercice
1. Comment s’appellent les différentes fonctions déclarées ici ?
Elles s’appellent : mystere_1, mystere_2, mystere_3.
2. Quels sont les paramètres de ces fonctions ?
Chaque fonction a deux paramètres : a et b.
3. De quel type sont ces paramètres ?
Les deux paramètres a et b sont de type int (entier).
4. De quel type seront les résultats de ces fonctions ?
Toutes les fonctions renvoient un entier (int).
5. Pour chaque fonction, indiquer ce qui est stocké dans la variable resultat à la première ligne.
mystere_1:resultat = amystere_2:resultat = 0mystere_3:resultat = a
6. Pour chaque fonction, quelle est la condition pour que la boucle while s’arrête ?
La boucle while s’arrête lorsque b == 0.
7. Pour chaque fonction, comment évolue la variable resultat à chaque itération ?
mystere_1: on ajoute 1 àresultatà chaque tour.mystere_2: on ajoute a àresultatà chaque tour.mystere_3: on multiplieresultatpar a à chaque tour.
8. Compléter le tableau
| a | b | Fonction | Résultat attendu |
|---|---|---|---|
| 2 | 3 | mystere_1 | 5 (car 2+3) |
| 2 | 3 | mystere_2 | 6 (car 2×3) |
| 2 | 3 | mystere_3 | 16 (car 2^4) |
| 5 | 0 | mystere_1 | 5 |
| 5 | 0 | mystere_2 | 0 |
| 5 | 0 | mystere_3 | 5 |
9. Finalement, que font ces fonctions ?
mystere_1(a,b)→ calcule a + bmystere_2(a,b)→ calcule a × bmystere_3(a,b)→ calcule a puissance (b+1), c’est-à-dire a^(b+1)
Deuxième exercice
def recherche(texte: str, caractere: str) -> int | bool:
i = 0
while i < len(texte):
if texte[i] == caractere:
return i
i += 1
return False
✅ Vérification :
print(recherche("bonjour", "b")) # 0
print(recherche("bonjour", "o")) # 1
print(recherche("bonjour", "i")) # False
Troisième exercice
def inverse(mot: str) -> str:
resultat = ""
for lettre in mot:
resultat = lettre + resultat # on ajoute la lettre au début
return resultat
# Tests
print(inverse("NSI")) # "ISN"
print(inverse("kayak")) # "kayak"
Quatrième exercice
def moyenne():
note = float(input("Entrez une note entre 0 et 20 : "))
if note < 0 or note > 20:
return("Erreur : la note doit être comprise entre 0 et 20.")
elif note >= 16:
return("Très bien")
elif note >= 12:
return("Assez bien")
elif note >= 10:
return("Passable")
else:
return("Insuffisant")