Seite 1 von 1

for-Schleife

Verfasst: Montag 22. November 2021, 22:46
von ibo
zahl = 0
for i in range(4):
zahl += 3*i
print (zahl)

Ich bin absoluter Anfänger also nicht wundern. Warum werden als Zahlen nicht 0, 3, 6, 9 ausgegeben sondern 0, 3, 9, 18.
Es wird ja wie folgt gerechnet:
0 + 3 * 0 = 0
0 + 3* 1 = 3
0 + 3 * 2 = 6
0 + 3 * 3 = 9

Re: for-Schleife

Verfasst: Montag 22. November 2021, 22:52
von __deets__
Wieso denkst du, Zahl wäre jedes Mal 0, wenn die Schleife in die nächste Runde geht? Du setzt das doch VOR der Schleife.

Re: for-Schleife

Verfasst: Montag 22. November 2021, 23:31
von __blackjack__
Vor allem wäre es ja auch sinnlos zu jedem Ergebnis in der Schleife 0 dazu zu addieren, weil das ja gar keinen Effekt hätte.

Re: for-Schleife

Verfasst: Dienstag 23. November 2021, 00:08
von ibo
Stimmt auch wieder. Nur wie wird denn dann gerechnet, wenn zahl die Schleife durchläuft?

0+3*0=0
1+3*1=4
2+3*2=8
3+3*3=12

So stimmen die Zahlen ja immer noch nicht.

Re: for-Schleife

Verfasst: Dienstag 23. November 2021, 00:16
von pillmuncher

Code: Alles auswählen

a += b entspricht a = a + b.

zahl += 3 * i entspricht folglich:

zahl = zahl + 3 * i

0 == 0 + 3 * 0
 \
  \
   \
    \
3 == 0 + 3 * 1
 \
  \
   \
    \
9 == 3 + 3 * 2
 \
  \
   \
    \
     \
18 == 9 + 3 * 3

Re: for-Schleife

Verfasst: Dienstag 23. November 2021, 14:14
von ibo
Danke vielmals!