Correction de l'épreuve 21
Sujet (PDF intégré)
Exercice 1
def indices_maxi(tab):
val_max = tab[0]
ind_max = []
for i in range(len(tab)):
if tab[i] > val_max:
val_max = tab[i]
for i in range(len(tab)):
if tab[i] == val_max:
ind_max.append(i)
return (val_max, ind_max)
Ou
def indices_maxi(tab):
maxi = tab[0]
indices = [0]
i = 1
while i < len(tab):
if tab[i] > maxi:
maxi = tab[i]
indices = [i]
elif tab[i] == maxi:
indices += [i]
i += 1
return (maxi, indices)
Exercice 2
def renverse(pile):
'''renvoie une pile contenant les mêmes éléments que pile,
mais dans l'ordre inverse.
Cette fonction détruit pile.'''
pile_inverse = []
while pile != []:
pile_inverse.append(pile.pop())
return pile_inverse
def positifs(pile):
'''renvoie une pile contenant les éléments positifs de pile,
dans le même ordre. Cette fonction détruit pile.'''
pile_positifs = []
while pile != []:
elt = pile.pop()
if elt >= 0:
pile_positifs.append(elt)
return renverse(pile_positifs)
En vrai, oklm
Précédent | Suivant