Bonjour,

J'ai conscience que cela n'est pas très élégant et qu'il y a probablement d'autres moyens de résoudre mon problème, mais cela fait plusieurs fois que je tente d'y parvenir seul, sans succès, donc je me lance : je voudrais savoir s'il y a moyen de déclarer une chaîne de caractères comme nom de variable.

Concrètement : je fais un jeu d'aventures, type jeu de rôle en lignes de texte, et je suis en train de créer des fonctions (avant de me lancer dans des classes) pour gérer par exemple les combats avec les monstres. J'aimerais ainsi assigner à une variable générale "ennemi_agilite" par exemple la valeur, selon les cas, de "ogre_agilite" ou "soldat_agilite". Pour ce faire, ayant été entendu que :

et que :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ogre_agilite = randint(7,9)
je souhaiterais proposer quelque chose comme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ennemi_agilite =  ennemi + '_agilite'
Evidemment, ça me donne logiquement 'ogre_agilite' et non pas encore, comme je le souhaiterais, 8 par exemple. Comment faire pour que la nouvelle variable 'ennemi_agilite' récupère la valeur d'une autre variable dont le nom ne peut pas être donné simplement ?

Encore une fois, j'ai conscience que ça n'est pas très élégant (une liste ou un dictionnaire serait peut-être préférable) mais je voudrais savoir s'il y a moyen d'arriver à faire ça. J'ai beau avoir fait plusieurs recherches, avec différents mots clefs, et lu des pages de cours sur les variables par exemple, je ne trouve pas si c'est simplement possible.

Bien cordialement,
JB