Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer un nom de variable

Sujet résolu
    13 janvier 2024 à 1:54:02

    Bonjour, je cherche à trouver un moyen pour récupérer un nom de variable ou a faire comprendre a python que le nom de cette même variable que j'insère dans sa définition n'est pas a utiliser pour effectuer des opérations. voici le contexte dans lequel je cherche a l'utiliser. Si vous avez des solutions pour simplifier l'architecture je suis aussi prenneur.

    Cordialement, un débutant

    -
    Edité par DarkNightsShadow 13 janvier 2024 à 1:56:56

    • Partager sur Facebook
    • Partager sur Twitter
      13 janvier 2024 à 10:27:46

      Avec Python, une variable est composée d'une clef dans le dictionnaire globals() dont la valeur est l'objet associé:

      >>> globals()
      {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>}
      >>> xy = 123
      >>> globals()['xy']
      123
      >>> globals()['xy'] = 'abc'
      >>> globals()['xy']
      'abc'
      >>> globals()['ab'] = 123
      >>> ab
      123
      >>>

      à partir de là on peut faire des choses... mais comme vous débutez, c'est probablement une mauvaise solution. Commencer par décrire le problème(*) que vous cherchez à résoudre plutôt que de vous lancer à coder une mauvaise solution.
      (*) dans votre description vous racontez à quoi devrait ressembler la solutions basée sur votre idée de variables mais on ne sait pas du tout ce que vous cherchez à faire!

      • Partager sur Facebook
      • Partager sur Twitter
        13 janvier 2024 à 18:14:43

        @DarkNightsShadow

        Est-ce un travail scolaire ? Si oui, peut-on connaître les chapitres des cours effectués ?

        • Partager sur Facebook
        • Partager sur Twitter

        Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
        La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

          13 janvier 2024 à 19:42:43

          L’idée serait d’avoir un programme pouvant exécuter la relation de chasles, (La relation de Chasles permet de calculer la somme de deux vecteurs dans un espace affine, quand l'extrémité du premier est choisie égale à l'origine du second.)

          Non il ne s’agit pas d’un travail scolaire mais un approfondissement sur le chapitre des tvecteurs de seconde 


          -
          Edité par DarkNightsShadow 13 janvier 2024 à 19:46:05

          • Partager sur Facebook
          • Partager sur Twitter
            13 janvier 2024 à 21:29:45

            Quels sont les objectifs que tu t'es fixé ?

            L'apprentissage de python ?

            L'apprentissage de la Programmation orientée objets ?

            ... ?

            Parce que une des bonnes solutions courantes pour ce genre d'exercice et d'utiliser la Programmation orientée objets.

            • Partager sur Facebook
            • Partager sur Twitter

            Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
            La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

              13 janvier 2024 à 22:15:04

              Je pensais apprendre python en général mais je vais me renseigner sur la programmation orientée objets
              • Partager sur Facebook
              • Partager sur Twitter
                13 janvier 2024 à 22:26:41

                DarkNightsShadow a écrit:

                Je pensais apprendre python en général mais je vais me renseigner sur la programmation orientée objets


                Concernant l'apprentissage Python, tu devrais regarder les tutoriels sur les variables. la pratique donnée par @mps n'est pas une solution viable comme il l'annonce lui même, tu vas vite y trouver des difficultés... C'est souvent une question posée par les débutants qui ne comprennent pas l'intérêt d'une variable.
                • Partager sur Facebook
                • Partager sur Twitter

                Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                  14 janvier 2024 à 12:02:10

                  En ce  qui concerne la question "récupérer un nom de variable", il faudrait essayer d'expliquer de façon claire et simple ce que vous voulez faire. Parce que

                                   / AD = AB + BD
                  vecteur Chasles
                                   \ récupère le nom de la variable (XY)


                  c'est incompréhensible. C'est qui la variable ? AD ? AB ? BD ?  et "AD = AB + BD", c'est une chaîne de caractères ? une instruction python ? autre chose ?

                  Et on récupère le nom en le prenant où ? Dans les variables python ? Dans un dictionnaire qui contient les données d'un problème de géométrie ?

                  > python en général mais je vais me renseigner sur la programmation orientée objets

                  Ca ne change rien au problème, la programmation python faisant la plupart du temps appel à la programmation orientée objets.  Le problème de base, c'est d'exprimer clairement ce qu'on veut faire. Et c'est avant de rédiger du code qui détaille comment on va le faire faire par l'ordinateur.

                  -
                  Edité par michelbillaud 14 janvier 2024 à 12:05:05

                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 janvier 2024 à 13:20:51

                    il manque la 1ère image dans le post initial, c'est peut-être celle-là qui peut éclairer la demande?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 janvier 2024 à 17:50:35

                      AB est un vecteur, -BA est une autre façon d’écrire ce vecteur la relation de chasles dit que AC+CB est une autre façon d’écrire AB

                      J’aimerai le faire comprendre à python que AB=[([1,3],[2,4]),-BA,  « etc » ] en utilisant un array pour le définir une 1ere fois et pouvoir ajouter d’autre façon d’écrire AB a la suite.

                       Comment vous l’avez compris il faut connaître les bornes du vecteur pour effectuer la relation de chasles donc mon idée était d’obtenir non pas la valeur de la varia mon bien son nom ici AB pour rechercher ,dans une base de données contenant tout les vecteurs possibles, un vecteur qui commence par A et qui fini par une autre (ici C) et ce même point doit commencer un autre vecteur finissant par B ce qui nous donne AC+CB 

                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 janvier 2024 à 18:17:27

                        On sait ce qu'est un vecteur et on connaît la relation de Chasles, le problème est la manière dont vous souhaitez faire cela, et quelque-soit le langage, votre problème sera le même.

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                        La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                          18 janvier 2024 à 18:45:59

                          DarkNightsShadow a écrit:

                          AB est un vecteur, -BA est une autre façon d’écrire ce vecteur la relation de chasles dit que AC+CB est une autre façon d’écrire AB

                          J’aimerai le faire comprendre à python que AB=[([1,3],[2,4]),-BA,  « etc » ] en utilisant un array pour le définir une 1ere fois et pouvoir ajouter d’autre façon d’écrire AB a la suite.

                           Comment vous l’avez compris 



                          J'ai l'impression que AB=[[1,3], [2,4]], c'est un bipoint, plutot qu'un vecteur, qui est défini par 2 coordonnées en 2D.

                          Va falloir revoir un peu ça, parce que programmer un truc sur lequel on n'a pas les idées claires, ça va être dur. Surtout que python, il comprend rien, il fait simplement ce qu'on lui dit.

                          -
                          Edité par michelbillaud 18 janvier 2024 à 18:48:13

                          • Partager sur Facebook
                          • Partager sur Twitter
                            18 janvier 2024 à 23:50:44

                            DarkNightsShadow a écrit:

                            Comment vous l’avez compris il faut connaître les bornes du vecteur pour effectuer la relation de chasles donc mon idée était d’obtenir non pas la valeur de la varia mon bien son nom ici AB pour rechercher...

                            On pourrait imaginer fabriquer un dictionnaire de points où la clef serait un nom associé à la valeur des coordonnées. Soit Points=dict(A=[1,2], B=[2,4]).

                            A partir de là, on peut imaginer une collection de vecteurs sous la forme d'une liste de paires/tuples: Vecteurs=[ ('A', 'B'),...].

                            On sait y chercher les tuples qui commencent par 'A' et les tuples qui se terminent par 'C'.

                            Puis on peut faire plus compliqué avec de la POO... mais c'est vous qui codez (et qui devez savoir quoi coder, comment et pourquoi).

                            • Partager sur Facebook
                            • Partager sur Twitter
                              19 janvier 2024 à 0:02:09

                              Sans oublier la possibilité des namedtuple

                              Bref un tas de possibilités, il y a plus qu'à !

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                              La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                                19 janvier 2024 à 18:01:22

                                Merci à tous pour ces éclaircissements bonne continuation
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Récupérer un nom de variable

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                • Editeur
                                • Markdown