4
Sur les fonctions suivantes, déterminer "assert" à mettre en oeuvre pour tester ces fonctions et en commentaire les raisons expliquant pourquoi certains tests vont échouer
1
def echange_v1(liste):
2
"""modifie la liste, la met dans l'ordre inverse"""
3
n=len(liste)
4
for i in range(n):
5
liste[i], liste[n-1-i] = liste[n-1-i], liste[i]
#les éléments de la liste sont échangés 2 fois : la liste est inchangée
1
def echange_v2(liste):
2
"""modifie la liste, la met dans l'ordre inverse"""
3
n=len(liste)
4
for i in range(n//2):
5
liste[i]=liste[n-1-i]
6
liste[n-1-i]=liste[i]
# des éléments de la liste sont perdus : liste[n-1-i] ne change pas de valeur (2 lignes...)
1
def ajoutUnListe(liste):
2
"""modifie la liste, ajoute 1 à chacun des termes"""
3
n= len(liste)
4
for i in range(1, n+1):
5
liste[i] = liste[i]+1
# erreur on sort de la liste, l'indice n n'existe pas