Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème calcul avec une liste

Sujet résolu
    13 mai 2021 à 15:23:17

    Bonjour,

    Dans le code ci-dessous, all_titles est une liste de notes.

    Je voudrais que le programme ajoute 35 à cette liste, puis m'affiche le résultat dans la console.

    Je pense qu'il faut convertir quelquechose mais je ne sais pas comment faire.

    for title in all_titles:
        print(title.text)
        note = title.text + 35
        print(note)

    Merci d'avance pour votre réponse.

    -
    Edité par williambr 13 mai 2021 à 15:24:06

    • Partager sur Facebook
    • Partager sur Twitter
      13 mai 2021 à 15:56:54

      Si title.text est une chaîne de caractères (str) il faut la convertir en nombre d'abord (avec la fonction int() si c'est un nombre entier, float() si c'est un nombre à virgule).
      • Partager sur Facebook
      • Partager sur Twitter

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

        13 mai 2021 à 19:13:57

        title.text est une série de nombre à virgule...

        quand je fais float() ça me met "ValueError: could not convert string to float"

        Pourtant je pense que c'est bien écrit :

        for title in all_titles:
            print(title.text)
            note = float(title.text) + 35
            print(note)

        -
        Edité par williambr 13 mai 2021 à 19:14:10

        • Partager sur Facebook
        • Partager sur Twitter
          13 mai 2021 à 19:24:32

          Est-ce que tes nombres sont avec des virgules ou des points? En programmation, il faut mettre des points.
          Tu peux toujours faire  machin = machin.replace(',', '.')
          • Partager sur Facebook
          • Partager sur Twitter

          Le Tout est souvent plus grand que la somme de ses parties.

            13 mai 2021 à 20:00:24

            williambr a écrit:

            title.text est une série de nombre à virgule...

            quand je fais float() ça me met "ValueError: could not convert string to float"

            Pourtant je pense que c'est bien écrit :

            for title in all_titles:
                print(title.text)
                note = float(title.text) + 35
                print(note)

            Dans ton premier post tu dis que la liste de nombres c'est all_titles, maintenant c'est title.text. Commence par bien définir le problème et les données avant tout.

            Les fonctions que j'ai données marchent sur un seul nombre, pas sur une liste. Découpe d'abord ta chaîne de caractères et applique la fonction sur chaque nombre.

            Vérifie la valeur de tes variables avec des print, ça aide. Et si tu n'y arrives pas, met nous ce qu'affichent les print de all_titles et title.text.

            -
            Edité par LoupSolitaire 13 mai 2021 à 20:02:39

            • Partager sur Facebook
            • Partager sur Twitter

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

              13 mai 2021 à 20:42:17

              all_titles est une liste (composée de nombres décimaux) récupérée sur un site internet (avec l'extension selenium).

              Son contenu varie à chaque fois...

              Je crois que mon programme foncionne comme ça : all_titles = (title + title + title)

              Ce que je voudrais, c'est aditionner tous les title pour pouvoir les additionner à un chiffre qui varie aussi à chaque fois.

              Donc pour l'instant j'ai ça : 

              for title in all_titles:
                  note = title.text
                  notepoint = note.replace(",", ".")
                  noteresult = float(notepoint)
                  result = sum(noteresult) + 23
                  print(note)

              Mais j'ai une erreur qui me dit "'float' object is not iterable" ce qui veut surement dire que float n'est plus une liste. Je comprend cette erreur car je pars de title, donc il traite les éléments de la liste un après l'autre. 

              Il faudrait que je parte de all_titles, qui est donc la liste complète contenant des title, mais ca ne fonctionne pas.

              Je suis vraiment perdu là.

              -
              Edité par williambr 13 mai 2021 à 20:57:35

              • Partager sur Facebook
              • Partager sur Twitter
                13 mai 2021 à 21:11:01

                PierrotLeFou a écrit:

                Est-ce que tes nombres sont avec des virgules ou des points? En programmation, il faut mettre des points.
                Tu peux toujours faire  machin = machin.replace(',', '.')

                Si on récupère des nombres décimaux en français, il se peut que le séparateur décimal soit une virgule. La fonction float n'a pas d'autre paramètre et la chaîne qu'elle prendrait ne reconnaît que le point décimal donc ce n'est pas possible avec elle. Ta solution est bien sût correcte, on peut aussi utiliser atof :

                import locale
                
                ma_locale = locale.setlocale(locale.LC_ALL, "")
                print(ma_locale)
                s="2099,236569633"
                x=locale.atof(s)*10
                print(x)
                fr_FR.UTF-8
                20992365696330.0

                Par contre, la fonction est assez décevante car elle plante si on met un espace séparateur entre blocs de 3 chiffres :

                import locale
                
                ma_locale = locale.setlocale(locale.LC_ALL, "")
                print(ma_locale)
                s="2 099,236569633"
                x=locale.atof(s)*10
                print(x)
                ValueError: could not convert string to float: '2 099.236569633'

                alors que c'est parfaitement légal dans la locale fr :

                import locale
                ma_locale = locale.setlocale(locale.LC_ALL, '')
                print(ma_locale)
                
                x = 2099.236569633
                print(f"{x:n}")
                fr_FR.UTF-8
                2 099,24










                -
                Edité par PascalOrtiz 13 mai 2021 à 21:11:49

                • Partager sur Facebook
                • Partager sur Twitter
                  14 mai 2021 à 10:39:11

                  all_titles est une liste de nombres décimaux (du genre 12,6 / 78,9 / 15,9) récupérée d'un site internet (avec le module selenium).

                  Ces nombres varient tout le temps.

                  Je voudrais additionner cette liste pour obtenir un seul nombre pour pouvoir faire des opérations avec (dans l'exemple, je voudrais y ajouter 35).

                  Je crois que mon programme fonctionne comme ca : all_titles = title + title + title + title

                  Pour l'instant j'ai ça :

                  for title in all_titles:
                      note = title.text
                      notepoint = note.replace(",", ".")
                      noteresult = float(notepoint)
                      result = sum(noteresult) + 35
                      print(note)

                  Mais quand je lance le programme, j'ai cette erreur : "'float' object is not iterable". Je crois que ca veut dire qui float n'est plus une liste, ce qui se comprend tout a fait car on démarre avec title, et donc le programme fais ce qui est demandé pour chaque donnée de la liste, une après l'autre (au lieu de transformer la liste en une fois comme je le voudrais)

                  Il faudrait donc commencer le programme avec all_titles, mais ca ne marche pas.

                  Je suis vraiment perdu là.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 mai 2021 à 11:02:37

                    @williambr Bonjour, je viens de retirer des spams votre dernier message, si cela arrive encore vous pouvez poster dans ce sujet Si votre message est considéré comme spam

                    La modération

                    -
                    Edité par AbcAbc6 14 mai 2021 à 11:02:57

                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 mai 2021 à 11:14:49

                      Salut,

                      Je crois que l'on t'a déjà demandé de nous faire voir le contenu de all_titles et title avec des prints, c'est plus simple de comprendre.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 mai 2021 à 16:01:24

                        williambr a écrit:

                        Mais quand je lance le programme, j'ai cette erreur : "'float' object is not iterable".

                        Il nous faut le message d'erreur complet, tout le traceback et le code qui le provoque.

                        Diablo76 a écrit:

                        Salut,

                        Je crois que l'on t'a déjà demandé de nous faire voir le contenu de all_titles et title avec des prints, c'est plus simple de comprendre.

                        Non seulement c'est plus simple, mais en plus c'est du debug de base, le petit print sur les variables autour d'un bug, c'est la base du debug, et c'est pas possible de programmer sans savoir debugguer.

                        • Partager sur Facebook
                        • Partager sur Twitter

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

                          14 mai 2021 à 16:58:54

                          Diablo76 a écrit:

                          Salut,

                          Je crois que l'on t'a déjà demandé de nous faire voir le contenu de all_titles et title avec des prints, c'est plus simple de comprendre.


                          Pour print(all_titles), j'ai [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9284b7b5-f1ce-4dee-8e5b-f5335ea8f2d9")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="25dcc7b0-08e4-4288-b013-e259497be150")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="68a66112-fb6e-41af-ae6e-47349ab13239")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="9a81f2ac-e2b1-4d17-bf1f-c9352c8c47c2")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="16ffa684-8460-463a-b781-411b70482551")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="34bce5b0-57f2-4408-91e7-8eca2b581a16")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                          Et pour print(titles), j'ai <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="4f96c6f9-cad1-473e-be80-0cc60f2b3b0f")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="e5ee7cb8-a4ac-450f-afff-a9856a97cadd")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="1acf562e-7f6d-45b4-9087-fcfe0419a0fc")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="db53a89f-3d06-4712-8e5f-3cf20add63f6")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="de73eaa9-85ca-4b26-a9e7-d0622dfecf08")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="c387d454-c774-4e40-8a22-e98697559b61")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="6f24e44f-2cb2-46e1-ab9c-bcadbb0ca794")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="1777597e-be82-443b-a45f-1dcba8aa6c9a")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="64784c4d-600d-4cd8-91e3-6800a8cc0e35")>

                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="03971b35-1058-46b0-8318-ca7354977991")>

                          Enfin pour print(title.text) : (cette commande permet d'afficher les élément de manière plus lisible), j'ai :

                          14,7

                          11,8

                          12,5


                          12,9

                          14,4

                          13,8

                          14,3

                          16,9

                          13,1

                          A savoir que mes éléments sont récupérés d'un site internet avec le module selenium.

                          LoupSolitaire a écrit:

                          Il nous faut le message d'erreur complet, tout le traceback et le code qui le provoque.

                          J'ai ça : Traceback (most recent call last):

                            File "D:\Programmation\Python\Projet\Site\Notes.py", line 39, in <module>

                              result = sum(noteresult) + 35

                          TypeError: 'float' object is not iterable


                          -
                          Edité par williambr 14 mai 2021 à 17:03:00

                          • Partager sur Facebook
                          • Partager sur Twitter
                            14 mai 2021 à 19:16:17

                            Alors c’est déjà plus clair, là comme LoupSolitaire le dit... on va pouvoir debugguer :p

                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 mai 2021 à 20:45:23

                              Le message d'erreur dit que noteresult est juste un float que la fonction sum (qui attend une liste) ne digère pas.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                14 mai 2021 à 21:52:07

                                mps a écrit:

                                Le message d'erreur dit que noteresult est juste un float que la fonction sum (qui attend une liste) ne digère pas.


                                C'est ce que je comprends aussi, mais alors comment faire pour additionner tous les éléments d'une liste et ensuite les convertir pour pouvoir faire d'autres opérations avec ?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  14 mai 2021 à 23:25:16

                                  williambr a écrit:

                                  C'est ce que je comprends aussi, mais alors comment faire pour additionner tous les éléments d'une liste et ensuite les convertir pour pouvoir faire d'autres opérations avec ?


                                  Déjà commencer par fabriquer la liste contenant les éléments qu'on veut additionner. Ce qu'on apprend avec tous les tutos.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    14 mai 2021 à 23:46:59

                                    Les éléments de la liste sont des données récupérées sur un site internet et varient tout le temps...
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      15 mai 2021 à 0:48:11

                                      williambr a écrit:

                                      for title in all_titles:
                                          note = title.text
                                          notepoint = note.replace(",", ".")
                                          noteresult = float(notepoint)
                                          result = sum(noteresult) + 35
                                          print(note)

                                      Et ça :

                                      result = sum(float(title.text.replace(",", ".")) for title in all_titles) + 35

                                      ça donnerait quoi ?

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        15 mai 2021 à 1:26:33

                                        Ce qui ne va plus c’est que l’on est très loin de la demande... CALCUL AVEC UNE LISTE
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          15 mai 2021 à 2:47:48

                                          williambr a écrit:

                                          Pour print(all_titles), j'ai [<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="45095168-9176-4a6d-9f1a-9dd4e73d3925")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="09ce4a26-57ae-4836-9497-8b0dd97e4f18")>,<selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="89ea52ac-2d07-4122-ab8d-bf2819356399")>, <selenium.webdriver.remote.webelement.WebElement (session="1a8a2e712f696514cbbe1dc0c26c45b8", element="72f6abea-45eb-4d88-9767-36f55b045539")>]

                                          Et pour print(titles), j'ai <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="4f96c6f9-cad1-473e-be80-0cc60f2b3b0f")>

                                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="e5ee7cb8-a4ac-450f-afff-a9856a97cadd")>

                                          <selenium.webdriver.remote.webelement.WebElement (session="9d828a73c117d91e0fa186c1eaa78685", element="1acf562e-7f6d-45b4-9087-fcfe0419a0fc")>

                                          Enfin pour print(title.text) : (cette commande permet d'afficher les élément de manière plus lisible), j'ai :

                                          14,7

                                          11,8

                                          12,5

                                          12,9

                                          14,4

                                          J'ai ça : Traceback (most recent call last):

                                            File "D:\Programmation\Python\Projet\Site\Notes.py", line 39, in <module>

                                              result = sum(noteresult) + 35

                                          TypeError: 'float' object is not iterable

                                          Ok donc ton dernier code posté était pas trop loin du compte, par contre ce qui te manque ce sont des choses qu'on voit dans des cours pour débutant normalement (faire la somme de nombres stockés dans une liste) donc c'est bizarre que tu arrives à utiliser selenium sans savoir faire ça. Passe quelques heures sur un bon cours parce que tu vas perdre un temps fou si tu n'as pas les notions de base.

                                          Bref, voilà une suggestion :

                                          result = 0
                                          for title in all_titles:
                                              note = title.text
                                              notepoint = note.replace(",", ".")
                                              noteresult = float(notepoint)
                                              result = result + noteresult + 35
                                          
                                          print(result)

                                          Je sais pas trop s'il faut garder le +35 à chaque tour de boucle ou le mettre juste à la fin, dans le doute j'ai laissé dans la boucle et tu pourras adapter.

                                          Pour revenir un peu sur les notions de base, la fonction sum() par exemple, elle s'applique sur une liste, donc si tu veux l'utiliser il faut pas la mettre dans la boucle, il faut construire la liste d'abord (en utilisant éventuellement une boucle) et utiliser sum() après :

                                          notes = []
                                          for title in all_titles:
                                              note = title.text
                                              notepoint = note.replace(",", ".")
                                              notes.append(float(noteresult))
                                          
                                          sum(notes) + 35



                                          -
                                          Edité par LoupSolitaire 15 mai 2021 à 2:51:15

                                          • Partager sur Facebook
                                          • Partager sur Twitter

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

                                            15 mai 2021 à 10:38:32

                                            Au début ca ne fonctionnait pas mais tout fonctionne correctement maintenant, c'est juste qu'il fallait mettre un petit temps d'attente pour que le site puisse charger correctement.

                                            Merci à toi @LoupSolitaire.

                                            -
                                            Edité par williambr 15 mai 2021 à 15:41:07

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Problème calcul avec une liste

                                            × 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