Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1021 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Incrémenter le nom d'une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Incrémenter le nom d'une variable

n°799087
UFC
Posté le 18-07-2004 à 23:35:32  profilanswer
 

Bonjour,
 
J'aimerais savoir comment faire pour incrémenter le nom d'une variable en python. Ce n'est pas la valeur de la variable que je veux incrémenter.
 
exemple:
 
for truc in bidul:
    ma_variable1=truc
 
et qu'après cela devienne ma_variable2, ma_variable3, etc....
 
merci

mood
Publicité
Posté le 18-07-2004 à 23:35:32  profilanswer
 

n°799089
schnapsman​n
Zaford Beeblefect
Posté le 18-07-2004 à 23:40:09  profilanswer
 

non, utilise un tableau


Message édité par schnapsmann le 18-07-2004 à 23:40:43

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°799092
Taz
bisounours-codeur
Posté le 18-07-2004 à 23:47:43  profilanswer
 

abruti :o
 
 
et utilise les list comprehension le plus possible

n°799106
UFC
Posté le 19-07-2004 à 00:23:02  profilanswer
 

Merci pour la rapidité de réponse, et je débute en python donc sa fait toujours plaisir de se faire traiter d'abruti !

n°799152
Taz
bisounours-codeur
Posté le 19-07-2004 à 07:41:56  profilanswer
 

ça n'a rien à voir avec python. la notion de séquence est fondamentale. si tu ne l'a pas, tu peux retourner page 2

n°799175
chaica
Posté le 19-07-2004 à 09:15:59  profilanswer
 

UFC a écrit :

Merci pour la rapidité de réponse, et je débute en python donc sa fait toujours plaisir de se faire traiter d'abruti !


 
Faut pas te formaliser, y'a plein de gens qui ont été élévés par des singes en haut d'une montagne ici. Mais bon parfois ils donnent des réponses compréhensibles.

n°2186304
francoisbo​udaille
Posté le 17-04-2013 à 18:26:40  profilanswer
 

Comme je suis moi aussi un gros abruti, je relance la question avec un cas concret :
J'utilise python dans Maya pour regler la rotation des phalanges des doigts de la main d'un personnage 3D.
j'ai ces variables, qui correspondent a la valeur de la rotation des phalanges lorsque le poing est ferme. :
 
IndexP2rotZ = -80
IndexP3rotZ = -90
IndexP4rotZ = -90
 
MajeurP2rotZ = -85
MajeurP3rotZ = -80
MajeurP4rotZ = -90
 
AnnulaireP2rotZ = -82
AnnulaireP3rotZ = -85
AnnulaireP4rotZ = -85
 
AuriculaireP2rotZ = -75
AuriculaireP3rotZ = -90
AuriculaireP4rotZ = -80
 
j'ai ensuite une fonction "editValue", dont le contenu n'a pas d'interet ici, mais qui fait appele a ces variables :
 
editValue( "IndexP2_rotateZ", IndexP2rotZ )
 
// IndexP2_rotateZ est le nom du noeud dans Maya qui gere la rotation de ma phalange.
 
pour le moment, j'ai ecrit ca :
 
editValue( "IndexP2_rotateZ", IndexP2rotZ )
editValue( "IndexP3_rotateZ", IndexP3rotZ )
editValue( "IndexP4_rotateZ", IndexP4rotZ )
 
editValue( "MajeurP2_rotateZ", MajeurP2rotZ )
editValue( "MajeurP3_rotateZ", MajeurP3rotZ )
editValue( "MajeurP4_rotateZ", MajeurP4rotZ )
 
etc...
 
 
Ce qui n'a absolument aucun sens.
3 phalanges par doigts, 4 doigts par main (je ne traite pas le pouce), 2 mains par personnage, 24 lignes de code grotesques.
Je veux pouvoir ecrire :
 
for doigt in ["Index", "Majeur", "Annulaire", "Auriculaire"] :
    for phalange in range( 1, 4 ) :
        editValue( doigt+"P"+phalange+"_rotateZ", doigtPphalangerotZ )
 
 
Ce qui aurait un peu plus de classe...
J'ai beau essayer de comprendre comment fonctionnent les dictionnaires, je ne vois comment ca peut m'aider dans ce cas precis...
Merci.

n°2186308
theshockwa​ve
I work at a firm named Koslow
Posté le 17-04-2013 à 19:49:55  profilanswer
 

C'est pas joli joli, mais si tu fais une chaine qui correspond à ton nom de variable, tu peux juste faire un eval() et tu obtiendras ce que tu veux. :o


---------------
last.fm
n°2186362
francoisbo​udaille
Posté le 18-04-2013 à 10:50:43  profilanswer
 

Ok, merci, je vais voir si j'y arrive tout seul :)
je ne comprends pas pourquoi ce n'est pas joli joli, moi je trouve ca plutot elegant au contraire, de passer dans des boucles plutot que de taper des lignes et lignes, mais j'ai l'impression que la presence de variable dans le nom d'une variable est un sujet delicat, partout ou j'ai cherche, j'ai rencontre les memes reponses indignees, voire insultantes.
Pourquoi tant de passion ?!

n°2186364
gilou
Modérateur
Modzilla
Posté le 18-04-2013 à 11:00:56  profilanswer
 

Je donnerais pas de réponse pour python, qui est un langage que je n'aime pas pour des raisons syntaxiques, mais pour faire ça en perl (et il y a surement l'analogue en python), je passerais par un hash.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le 18-04-2013 à 11:00:56  profilanswer
 

n°2186369
theshockwa​ve
I work at a firm named Koslow
Posté le 18-04-2013 à 11:06:58  profilanswer
 

francoisboudaille a écrit :

Ok, merci, je vais voir si j'y arrive tout seul :)
je ne comprends pas pourquoi ce n'est pas joli joli, moi je trouve ca plutot elegant au contraire, de passer dans des boucles plutot que de taper des lignes et lignes, mais j'ai l'impression que la presence de variable dans le nom d'une variable est un sujet delicat, partout ou j'ai cherche, j'ai rencontre les memes reponses indignees, voire insultantes.
Pourquoi tant de passion ?!

 

Parce que techniquement, tu peux sans doute mettre ta donnée initiale en forme correctement et utiliser des tableaux ou dictionnaires et ne pas avoir à nommer dynamiquement ta variable.

 

Edit : Exemple :

Code :
  1. setupDesDoigts = { "Index" : [ -80, -90, -90 ], "Majeur" : [ -85, -80, -90 ], "Annulaire" : [ -82, -85, -85 ], "Auriculaire" : [ -75, -90, -80 ] }
 

Si tu pars sur ca, t'as plus besoin de nommer quoi que ce soit, et ta boucle se contente d'aller chercher la bonne configuration dans cette structure. Accessoirement, cette structure est aussi plus facile à maintenir si tu veux ajouter le support du pouce.


Message édité par theshockwave le 18-04-2013 à 11:13:01

---------------
last.fm
n°2186372
francoisbo​udaille
Posté le 18-04-2013 à 11:12:45  profilanswer
 

Oui, j'ai vu que tout le monde conseillait plutot l'utilisation de dictionnaires, mais je debute dans Python, et meme si je comprends comment fonctionnent les dictionnaires, je n'arrive pas a voir comment je pourrais les utiliser dans ce cas precis.
J'ai bosse dix ans avec un langage proprietaire et c'est dur de se convertir...

n°2186373
theshockwa​ve
I work at a firm named Koslow
Posté le 18-04-2013 à 11:13:56  profilanswer
 

Bah voilà, je t'ai donné un exemple en éditant mon message pendant que tu tapais ta réponse :D


---------------
last.fm
n°2186375
francoisbo​udaille
Posté le 18-04-2013 à 11:15:42  profilanswer
 

Argh, merci !!!

n°2283639
matth0u
Posté le 14-06-2016 à 15:38:02  profilanswer
 

UFC a écrit :

Bonjour,
 
J'aimerais savoir comment faire pour incrémenter le nom d'une variable en python. Ce n'est pas la valeur de la variable que je veux incrémenter.
 
exemple:
 
for truc in bidul:
    ma_variable1=truc
 
et qu'après cela devienne ma_variable2, ma_variable3, etc....
 
merci


 
Bonjour,
 
Si quelqu'un d'autre cherche la solution, le plus simple est de passer par ces lignes de code:
 
for i in range(1,4)
      variable+str(i)=i
 
On ne peut réaliser des opérations mathématiques que sur des nombres, or les noms des variables sont des chaînes de caractères, il faut donc réaliser un changement de type ( str(i) ) sur la variable utilisée.
 
J'espère avoir été utile ;-)

n°2283664
masklinn
í dag viðrar vel til loftárása
Posté le 15-06-2016 à 09:31:30  profilanswer
 

matth0u a écrit :

 

Bonjour,

 

Si quelqu'un d'autre cherche la solution, le plus simple est de passer par ces lignes de code:

 

for i in range(1,4)
      variable+str(i)=i

 

On ne peut réaliser des opérations mathématiques que sur des nombres, or les noms des variables sont des chaînes de caractères, il faut donc réaliser un changement de type ( str(i) ) sur la variable utilisée.

 

J'espère avoir été utile ;-)


Non, non seulement tu remontes un topic qui a 3 ans mais ton code n'a aucun sens, il est tellement foireux qu'il contient une erreur de syntaxe par ligne, et en python les noms de variables sont des noms de variables pas "des chaînes de caractères".


Message édité par masklinn le 15-06-2016 à 09:32:40

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Incrémenter le nom d'une variable

 

Sujets relatifs
SELECT/Mysql : syntaxe avec 1 seule variable sur 2 colones ?verifier le format d'une variable
savoir si une variable est définie en testant le début du nom[resolu]optimisation verifier si un ma variable est deja dans la base
probleme de variable avec les submit ...incrementer une variable sous batch
incrémenter une variable[Bash] arithmétique de base : incrementer un variable :-(
Incrémenter le nom d'une variableEst-il possible d'incrementer le nom d'une variable ???
Plus de sujets relatifs à : Incrémenter le nom d'une variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR