Listenwerte in while schleifen iterierend verändern
Verfasst: Donnerstag 17. September 2020, 14:15
Hallo,
ich bin python Neuling und konnte mir bislang schon einige Tipps aus dem Forum holen. Vielen herzlichen Dank erstmal dafür!
Jetzt komme ich jedoch auch nach Stundenlangem ausprobieren und nach etlicher Recherche einfach nicht weiter und hoffe auf Hilfe.
Meine Aufgabe: Ich möchte eine einfache Liste mit integern 10 Mal hintereinander mit einer while Schleife ausgeben. Die einzelnen Werte der Liste sollen sich dabei jeweils verdoppeln. Mein Ansatz ist folgender:
liste = [12, 22, 44, 66, 55, 100]
i=1
p=0
n=2
print(liste)
while i<10:
while p<len(liste):
liste[p]=liste[p]*n
p+=1
print(liste)
n=n**2
i+=1
Jedoch wird n nach der ersten Iteration der Schleife nicht wie gewollt potenziert und folglich wird die Liste bei den darauffolgenden Ausgaben nicht verdoppelt.
Frage: Wieso greift das n in den Iterationen der While Schleife nicht auf die neuen n Werte zu?
Wie lässt sich die Aufgabe abbilden?
Ich bedanke mich schon jetzt für Euren Support bei der vermutlich sehr trivialen Frage. Über eine Antwort würde ich mich freuen.
LG Max
ich bin python Neuling und konnte mir bislang schon einige Tipps aus dem Forum holen. Vielen herzlichen Dank erstmal dafür!
Jetzt komme ich jedoch auch nach Stundenlangem ausprobieren und nach etlicher Recherche einfach nicht weiter und hoffe auf Hilfe.
Meine Aufgabe: Ich möchte eine einfache Liste mit integern 10 Mal hintereinander mit einer while Schleife ausgeben. Die einzelnen Werte der Liste sollen sich dabei jeweils verdoppeln. Mein Ansatz ist folgender:
liste = [12, 22, 44, 66, 55, 100]
i=1
p=0
n=2
print(liste)
while i<10:
while p<len(liste):
liste[p]=liste[p]*n
p+=1
print(liste)
n=n**2
i+=1
Jedoch wird n nach der ersten Iteration der Schleife nicht wie gewollt potenziert und folglich wird die Liste bei den darauffolgenden Ausgaben nicht verdoppelt.
Frage: Wieso greift das n in den Iterationen der While Schleife nicht auf die neuen n Werte zu?
Wie lässt sich die Aufgabe abbilden?
Ich bedanke mich schon jetzt für Euren Support bei der vermutlich sehr trivialen Frage. Über eine Antwort würde ich mich freuen.
LG Max