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 :
Pouvez-vous me dire quelles sont mes erreurs ?
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))
Merci d'avance pour votre aide.
F.
Partager