Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur prog

    24 mai 2019 à 13:00:35

    Bonjour, je viens ici car j'essaye de faire exécuter un programme de tri mais j'ai pleins d'erreurs soulignés:

    from typing import List
    
    
    def quicksort(alist: List[int], start: int, end: int):
    
    Sorts
    the
    list
    from indexes start
    
    to
    end - 1
    inclusive.
    
    :param
    alist:
    :param
    start:
    :param
    end:
    :return:
    
    if end - start > 1:
        p = partition(alist, start, end)
        quicksort(alist, start, p)
        quicksort(alist, p + 1, end)
    
    
    def partition(alist: List[int], start: int, end: int):
    
    
    :param
    alist:
    :param
    start:
    :param
    end:
    :return:
    
    pivot = alist[start]
    i = start + 1
    j = end - 1
    
    while True:
        while i <= j and alist[i] <= pivot:
            i = i + 1
        while i <= j and alist[j] >= pivot:
            j = j - 1
    
        if i <= j:
            alist[i], alist[j] = alist[j], alist[i]
        else:
            alist[start], alist[j] = alist[j], alist[start]
            return j
    
    
    mylist = input('Enter the list of numbers: ').split()
    mylist_toInt = [int(x) for x in mylist]
    quicksort(mylist_toInt, 0, len(mylist_toInt))
    print('Sorted list: ', end='')
    print(mylist_toInt)
    
    


    Pourriez-vous m'aider svp ? je suis sous python 3

    • Partager sur Facebook
    • Partager sur Twitter
      24 mai 2019 à 13:08:30

      Bonjour.

      Lignes 5, 22, 31 et 35 il manque des """

      Tes deux dernières lignes, c'est un anti-patern. Utilise plutôt print(f"Sorted list: {myList_toInt}").

      C'est ce que je vois. Tu parles d'erreurs soulignées, tu est sans doute sous PyCharm ou apparenté : place la souris sur les endroits soulignés pour avoir plus de détails. Aussi, quelles sont exactement les lignes soulignées ?

      • Partager sur Facebook
      • Partager sur Twitter

      typage structurel ftw

        24 mai 2019 à 13:10:12

        C'est sans doute un copier-coller raté car ça ne ressemble pas à du code Python bien formé. On voit que c'était du Python à l'origine, mais l'indentation est partie à certains endroits, et après les déclarations de fonctions il y a des trucs qui pourraient être des docstrings qui ont perdu leurs guillemets.
        • Partager sur Facebook
        • Partager sur Twitter

        Blond, bouclé, toujours le sourire aux lèvres...

          24 mai 2019 à 13:16:30

          Bonjour,

          Oui je suis sous pyCharm,

          Après avoir mis les """,

          J'ai toujours ces lignes soulignés:

          EDIT: j'ai plus d'erreurs:

          -
          Edité par Doudoudu35 24 mai 2019 à 13:19:36

          • Partager sur Facebook
          • Partager sur Twitter
            24 mai 2019 à 13:35:22

            Ah. Si ton problème est résolu, passe le sujet en résolu.
            • Partager sur Facebook
            • Partager sur Twitter

            typage structurel ftw

              24 mai 2019 à 13:51:21

              J'aimerais juste savoir pk lorsque je renomme ma variable en paramètre, cette dernière change de couleur, (elle passe au gris), cela change-t-il qq chose lors de l'exécution de mon code SVP ?

              def quicksort (alist: List[int], start: int, end: int):
              def quicksort (alist: List[int], variable1: int, end: int):




              -
              Edité par Doudoudu35 24 mai 2019 à 13:55:22

              • Partager sur Facebook
              • Partager sur Twitter
                24 mai 2019 à 16:30:40

                Difficile à dire, si tu n'as pas modifié le nom de la variable dans le corps de la fonction, ça peut être un moyen d'indiquer que la variable n'est pas utilisée.

                Mais la coloration n'est qu'un indicateur fait par un programme externe (c'est pas l'interpréteur Python qui gère ça), donc ça n'influencera pas son exécution.

                • Partager sur Facebook
                • Partager sur Twitter

                Blond, bouclé, toujours le sourire aux lèvres...

                  24 mai 2019 à 17:05:31

                  Oui merci j'ai réglé ça finalement par contre, avec le programme, lorsque je test mon tri, cela fonctionne pas, est-ce normal ?

                  Auriez-vous un  petit programme fonctionnel pour tester mon algo svp ?

                  Car celui-ci semble pas fonctionner:

                  mylist = input('Enter the list of numbers: ').split()
                  mylist_toInt = [int(x) for x in mylist]
                  Tri_rapide (mylist_toInt, 0, len(mylist_toInt))
                  print('Sorted list: ', end='')
                  print(mylist_toInt)

                  en effet, lorsque je teste, j'ai ceci:

                  C:\Users\utilisateur\PycharmProjects\conversion\venv\Scripts\python.exe C:/Users/utilisateur/.PyCharmCE2018.3/config/scratches/TEST2.py
                  Enter the list of numbers: 987654321
                  Sorted list: [987654321]
                  
                  Process finished with exit code 0

                  Merci par avance


                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 mai 2019 à 18:08:16

                    Regarde le contenu de la variable myList juste après la ligne 57.

                    Enfin, c'est même pas utile tu vois que tu as une liste d'un seul élément, et tu voulais sans doute une liste des chiffres entrés ?

                    En fait split utilisée sans argument découpe les chaînes selon les espaces et les sauts de lignes, donc si tu n'en met pas dans ta chaîne, tu n'as qu'un seul élément.

                    Soit tu veux les chiffres un par un, et tu peux juste supprimer split (parce que la chaîne de caractères est itérable comme une liste), soit non, et à ce moment là tu met des espaces (ou autre séparateur) l'input de ton programme.

                    -
                    Edité par LoupSolitaire 24 mai 2019 à 18:11:30

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Blond, bouclé, toujours le sourire aux lèvres...

                    Erreur prog

                    × 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