Aide python

Résolu
Natane -  
 Natane -
Bonjour,
J'aimerais comprendre comment ce code marche:

V = locals()
for i in range(10):
       V["var%d"%i]  = i


Je sais que c'est déconseillé mais c'est par pour l'utilisé juste le comprendre
Merci


Configuration: Android / Chrome 84.0.4147.125

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, merci d'utiliser les balises de code quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

as-tu essayé ceci?
V = locals()
for i in range(10):
    V["var%d"%i] = i
print(V)
for i in range(10):
    print("var%d"%i, V["var%d"%i])
0
Natane
 
Je me suis mal exprimé mon problème n'était pas de savoir que fais ce code ça je l'ai compris ça crée une nouvelle variable appelé var1/var2...
Mais je ne comprend pas la ligne :

V['var%d'%i] = i


ce qui est a l'intérieur des crochet j'ai compris on prend 'var' et avec %d on ajoute i un peu comme la fonction format mais je ne comprend
V = locals()
Et les crochet après le V
Désolé je ne suis pas très clair
(J'ai essayé d'utiliser les balises de code j'espère que ça a marché)
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
V=locals()
print("V: ",V)
a=123
print("V: ",V)
print("V[""a""]: ",V["a"])
print("a: ",a)
V["a"]=1000
print("V: ",V)
print("V[""a""]: ",V["a"])
print("a: ",a)
0
Natane
 
Ah ok donc si j'ai bien compris dès que tu fais :

V = locals()


V vas contenir un dictionnaire de toute les variable local
Mais du coup pourquoi tu fais pas directement :

for i in range(10):
"Var%d"%i = i

                
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
tu ne maitrises pas encore les balises de code...
as-tu essayé ta suggestion?
imagines-tu pouvoir écrire
"a"=123

au lieu de
a=123
?
0
Natane
 
Oui je sais c'est la première fois que j'utilise les balises
En faite j'ai compris vu que locals() est un dictionnaire qui contient toute les variables du coup créé une nouvelle variable revient au même que d'ajouter un element au dictionnaire locals() sauf que vu que c'est un dictionnaire en tant que clés (donc nom de la variable) je peux mettre du str ou donner comme nom a la variable du str qui est stocké dans une autre variable (je sais que ça sert a rien et que je vais juste me perdre plus facilement avec mes nom de variable)
C'est ça ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
je pense que oui. on appelle parfois cela "variable dynamique".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Natane
 
Ah ok ca faisait longtemps que je cherchais une explication a ce code
Merci beaucoup !
0