Partage
  • Partager sur Facebook
  • Partager sur Twitter

fonction qui prend une liste en argument et retour

    24 mars 2019 à 23:51:27

    Bonsoir,

    j'aimerais bien trouver de l'aide sur un exercice, je veux définir une fonction qui prend une liste en argument et retourne un intervalle.

    exemple: range ([1,2,3,4,5,7,9,10,11] ) 

    1-5,7,9-11

    ```def ranges(ints):
        ints = sorted(ints)
        range_start = previous_number = ints[0]
        for number in ints[1:]:
            if number == previous_number + 1:
                l.append([range_start,previous_number])
                previous_number = number
            else:
                m.append(str(number))
                print(m)
                n=','.join(m)
                print (n)
        print(range_start,'-' ,previous_number, ',',n)```

    cette fonction me retourne bien 1-5 mais ne retourne pas le 9-11 à la fin

    les print c'est pour vérifier le fonctionnement de la fonction

    • Partager sur Facebook
    • Partager sur Twitter
      25 mars 2019 à 7:32:10

      Tu peux utiliser le bouton </> pour mettre ton code.

      Il manque la définition des variables l et m.

      • Partager sur Facebook
      • Partager sur Twitter
        27 mars 2019 à 11:05:03

        Exlique nous pourquoi c'est exactement cet intervalle que tu veux, et pas [1-3,5,7-11] par exemple
        • Partager sur Facebook
        • Partager sur Twitter
          27 mars 2019 à 12:06:21

          Probablement parce qu'il y a un 4 mais pas de 8
          • Partager sur Facebook
          • Partager sur Twitter

          fonction qui prend une liste en argument et retour

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown