Seite 1 von 1

Iteration mit umbenennen der Variablen

Verfasst: Dienstag 8. Januar 2008, 15:38
von mathi
Hi,
ich möchte folgende Iteration machen:

Code: Alles auswählen

lw=5
sw=2
i=1
while True:
    ui=2*lw
    vedi=5*ui
    Aswi=(vedi-1)*ui/2
    print "Asw%d=%d" % (i,Aswi)
    print "ved%d=%d" % (i,vedi)
    print "u%d=%d" % (i,ui)
    Vrdcta=1000
    lw+=i*sw
    i+=1
    if vedi>=Vrdcta:
        break
Aber: die Variablen ui, vedi und Aswi sollen mit i01....n umbenannt werden :
also für i=1:
u1, ved1, Asw1

für i=2
u2, ved2, Asw2

usw.


ist so etwas möglich ? wenn ja, wie?

Verfasst: Dienstag 8. Januar 2008, 15:45
von Zap
Hallo mathi!

Es gibt so viele Möglichkeiten zu Gruppieren: zB Listen, Dictionaries sowie Objekte.
Diese dynamische Namensvergabe für Variablen macht keinen Sinn.
Denk lieber nochmal drüber nach.

Verfasst: Dienstag 8. Januar 2008, 16:12
von mathi
Aber ich möchte mit den Variablen weiter arbeiten und habe keine Ahnung in welche Richtung ich denken soll.

Verfasst: Dienstag 8. Januar 2008, 16:39
von Zap
Du könntest die Daten doch zum Beispiel als Tuple in einer Liste speichern:

Code: Alles auswählen

vedi = 0
Vrdcta = 1000
lw = 5 
sw = 2 
i = 1
my_container = [] 
while vedi < Vrdcta: 
    u = 2 * lw 
    ved = 5 * ui 
    Asw = (ved - 1) * (u / 2)
    lw += i * sw 
    i += 1
    my_container.append((u, ved, Asw))

for i, data in enumerate(my_container):
    u, ved, Asw = data
    print "Asw%d=%d" % (i,Asw) 
    print "ved%d=%d" % (i,ved) 
    print "u%d=%d" % (i,u) 
Hab das Ding einfach mal Container genannt, da ich keinen blassen Schimmer habe was die Werte heißen sollen.

Verfasst: Mittwoch 9. Januar 2008, 09:26
von mathi
Danke :D

die Lösung ist für meine Zwecke super