# Python: boucle pour création de variables

**URL:** <https://www.debian-fr.org/t/python-boucle-pour-creation-de-variables/70058>\
**Category:** Programmation\
**Created:** [Juin 20, 2016, 3:36 UTC](https://www.debian-fr.org/t/python-boucle-pour-creation-de-variables/70058 "2016-06-20T15:36:00Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Juin 20, 2016, 3:36 UTC](https://www.debian-fr.org/t/python-boucle-pour-creation-de-variables/70058/1 "2016-06-20T15:36:00Z")

</div>

Bonjour, je voudrais déclarer et initialiser n variables comme ceci mais en utilisant une boucle:

```
var1=Tkinter.IntVar()
var1.set(0)
var2=Tkinter.IntVar()
var2.set(0)
...
...
varn=Tkinter.IntVar()
varn.set(0)

```

J’ai essayé plusieurs trucs avec une boucle for et des listes/dictionnaires mais je ne trouve pas la syntaxe exacte…

Merci

---

<div class="post-metadata">

**Author:** ![seb-ksl](https://www.debian-fr.org/user_avatar/www.debian-fr.org/seb-ksl/32/2946_2.png) [@seb-ksl](https://www.debian-fr.org/u/seb-ksl)\
**Post date:** [Juin 20, 2016, 7:41 UTC](https://www.debian-fr.org/t/python-boucle-pour-creation-de-variables/70058/2 "2016-06-20T19:41:36Z")

</div>

Salut,

Une proposition parmi d’autres :

```python
vars = []
n = 10

for i in range(n):
    var = Tkinter.IntVar()
    var.set(0)
    vars.append(var)

```

Tu te retrouves avec une liste de variables de type Tkinter.IntVar, dont tu extrais celles que tu veux par son indice (qui commence à 0, attention). Donc pour changer la valeur de tes variables, par exemple, tu peux faire :

```python
for var in vars:
    var.set(2)

```

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Juin 20, 2016, 8:06 UTC](https://www.debian-fr.org/t/python-boucle-pour-creation-de-variables/70058/3 "2016-06-20T20:06:41Z")

</div>

Là où je me prenais la tête, c’était pour que chaque variable ait un nom indicé (en plus je suis nul en python).  
En bash j’aurais fait un truc comme:

```auto
for i in 1 2 3...N
do
VAR[$i]=O
echo ${VAR[$i]}
done
```

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Juin 20, 2016, 10:05 UTC](https://www.debian-fr.org/t/python-boucle-pour-creation-de-variables/70058/4 "2016-06-20T22:05:42Z")

</div>

OK!  
Merci pour vos réponses, je vais creuser ça 🙂
