automatisches erhöhen einer variablen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
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...
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
dash

Es klappt!

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


dash
Antworten