Bonjour,

je dois faire un exercice :


La fonction prd est assez basique en l’état. Modifier cette fonction pour que la liste de lignes soit présentée sous la forme: programme : 1-2, 7 quand il y a 2 numéros consécutifs ou plus; par exemple, 1, 2, 3, 5, la liste est présentée sous la forme 1-3, 5.
Pour ce faire, coder une fonction presente prenant une liste d'entier et retournant une chaîne de caractères au format voulu.[



Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
def presente(lst):
for mot in sorted(lst):
#
value= lst[mot]
if len(value) == 1:
#
num = value[0]
else:
#
value = sorted(value)
num = "%s" % value[0]
sep = ", "
#
for idx, c in enumerate(value[1:]):
if c == value[idx] + 1:
#
sep = "-%s, " % c
else:
#
num = num + sep + str(c)
sep = ", "
 
if sep != ", ":
#
num = num + sep
 
print ("\t%s: %s" %(mot, num))
Pouvez-vous me dire quelles sont mes erreurs ?

Merci d'avance pour votre aide.

F.