Modifier présentation liste de lignes
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:
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.