Définir des variables par itération

Résolu/Fermé
Brocket - 1 mars 2023 à 20:31
yg_be Messages postés 22701 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 2 mars 2023 à 22:14

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 22701 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
1 mars 2023 à 20:42

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?

2
yg_be Messages postés 22701 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
2 mars 2023 à 09:26

un exemple:

v={}
for i in range(1,11):
     v[i] = i*2
for w in range(1,11):
    print(w,v[w])
0
PierrotLeFou
2 mars 2023 à 00:36

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.

0
PierrotLeFou
2 mars 2023 à 18:24

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.

0
yg_be Messages postés 22701 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
2 mars 2023 à 22:14

La méthode à laquelle je pense est très simple à utiliser, aussi bien pour assigner des valeurs que pour les lire ou les modifier.

Cependant, je pense préférable de structurer les données en tenant compte des bonnes pratiques.

0