Seite 1 von 1

automatisches erhöhen einer variablen

Verfasst: Montag 12. Januar 2004, 21:15
von dash
hallo,
ich soll für die schule etwas in python programmieren.
leider habe ich ein problem:

python soll für jedes objekt in einer liste eine jeweilige variable setzen, die den wert 0 hat.
leider weiß ich nich wie...
ich weiß einfach nicht, wie ich der variablen "v" eine nummer geben soll (z.b. v1 ), damit diese unverkennbar ist, und dieser unverkennbaren variable den wert "0" gebe (z.b. v1=0 )

hoffe, mein problem ist verständlich...

Code: Alles auswählen

   whv1=0
		
	
	while whv1<len(liste):
		v[whv1]=whv1
		whv1=whv+1

Verfasst: Montag 12. Januar 2004, 21:31
von Dookie
Hi dash,

so ganz klar ist mir nicht was du meinst.

Code: Alles auswählen

for i in xrange(len(liste)):
    v[i] = 0 # oder i wenn v[0] = 0, v[1] = 1, v[2]=2, ... sein soll

Gruß Dookie

Verfasst: Montag 12. Januar 2004, 21:42
von dash
hi Dookie, vielen dank für die schnelle antwort
ja du hast mein problem erfasst :) (wenn ich deinen code jetzt richtig deute...)

er soll so viele variablen mit dem wert 0 erstellen, wie es objekte in der liste gibt (also wenn es 4 objekte in der liste wären, müsste es am ende vier variablen mit dem wert 0 geben. ( v[1]=0 v[2]=0 v[3]=0 v[4]=0 )

leider gibt mir mit deinem code einen fehler aus:

Code: Alles auswählen

File "C:\xxx\inf02.py", line 40, in def1
    v[i]=0
TypeError: object does not support item assignment
was bedeutet das? in der schule haben wir gelernt, dass man variablen, die man benutzt, vorher definieren muss. stimmt das? denn hier werden die variablen ja während des ausführens des codes erstellt...

Verfasst: Montag 12. Januar 2004, 21:58
von Dookie
Genau daran liegts,

Code: Alles auswählen

v = [None]*len(liste) #erstelle liste v mit gleicher laenge wie liste
for i in xrange(len(liste)):
   v[i] = 0
oder kurzform

Code: Alles auswählen

v = [0]*len(liste)

Gruß

Dookie

Verfasst: Montag 12. Januar 2004, 22:39
von dash
Es klappt!

Vielen Dank für die schnelle (und hilfreiche) Antwort :)


dash