Correction de l'épreuve 3
Sujet (PDF intégré)
Exercice 1
def fibonacci(n):
if n <= 2 :
return 1
else :
return fibonacci(n-1) + fibonacci(n-2)
Ou
def fibonacci(n):
d = {}
d[1] = 1
d[2] = 1
for k in range(3, n+1):
d[k] = d[k-1] + d[k-2]
return d[n]
dict_fibo = {1:1, 2:1}
def fibonacci(n):
if n in dict_fibo:
return dict_fibo[n]
dict_fibo[n] = fibonacci(n-1) + fibonacci(n-2)
return dict_fibo[n]
Exercice 2
def eleves_du_mois(eleves, notes):
note_maxi = 0
meilleurs_eleves = []
for i in range(len(eleves)) :
if notes[i] == note_maxi :
meilleurs_eleves.append(eleves[i])
elif notes[i] > note_maxi:
note_maxi = notes[i]
meilleurs_eleves = [eleves[i]]
return (note_maxi, meilleurs_eleves)
Pour le 1er exercice, la 3eme version est celle à privilégier pour faire quelque chose d'élégant, cependant vous pouvez quand même avoir tous les points avec la version la plus simple. L'exercice 2 est moche dû à l'utilisation du append, mais bon.
Précédent | Suivant