Définir des variables par itération
Résoluyg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je voudrais savoir s'il serait possible de définir des variables itérativement.
Imaginons que je voudrais créer les variables suivantes:
v1 = 1
v2 = 2
v3 = 3
...
v100 = 100
Comme je n'ai pas envie d'écrire 100 fois la même chose, j'aimerais créer une boucle un peu comme ça :
for i in range(1,101):
v+str(i) = i
Bien évidemment ça ne marche pas, quelqu'un aurait une solution ?
Merci
Windows / Firefox 110.0
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
Il est possible de faire cela. Cependant, je trouve que c'est une très mauvaise idée, et j'hésite donc à t'expliquer comment faire.
Pourquoi n'utilises-tu pas une seule variable, qui serait un tableau dans lequel tu pourrais enregistrer de multiples valeurs?
-
Autre problème, le programme saurait-il combien de variables sont créées?
Si tu dois faire des tests sur tes variables, est-ce que tu veux tout générer automatiquement?
Par exemple:
if v60 == 310:
# bla bla bla ...
Ça demeure encore tout aussi long de faire tous ces tests à la main.
Avec des tableaux, comme l'a mentionné yg_be, c'est netttement plus simple. -
Le point sur lequel je voulais insister n'est pas le fait que c'et plus ou moins compliqué de générer des variables en série (ça se fait bien avec exec() ).
C'est plutôt le code qui va les utiliser. On en arrive rapidement à écrire un programme qui va générer un autre programme (générateur de code).
La plupart du temps, ce n'est pas approprié ou justifiable.
Ça peut se justifier si on veut écrire du code super optimisé et assez gros.