Python Verständnisfrage?

... komplette Frage anzeigen

2 Antworten

for buchstabe in "Hallo!"

Zuerst einmal weißt du ja, dass die Schleife eine bestimmte Liste abarbeiten soll. Hier ist es eine Liste an Characters. Der String "Hallo!" lässt sich in einzelne Character aufteilen.

Die Variable buchstabe wird nun als Iteratorvariable benutzt. Sie wird automatisch zu Beginn der Schleife angelegt und nimmt dann pro Durchlauf den aktuellen Wert an, den die Liste zurückgibt.

Also gibt der String je Iteration das nächste Element zurück und speichert es in die Variable buchstabe.

Zum weiteren Verständnis möchte ich dir zeigen, wie dieses Beispiel mit einer while-Schleife umgesetzt werden würde:

str = "Hallo!"
count = len(str)
i = 0
buchstabe = ""

while count > i: buchstabe = str[i] print(buchstabe) i += 1

Die ForLoop in Python erspart dir diesen Schreibaufwand.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DaSpirit
17.10.2016, 18:12

Hey! Das heißt, Python weiß dass es sich um die Buchstaben in "Hallo!" handeln muss, weil hinter dem "in" nunmal nur Buchstaben stehen? Und somit ist dann das einzige was immer wieder abgearbeitet werde kann, die einzelnen Buchstaben?

0

x += 1 ist äquivalent zu
x = x + 1

Vielleicht machts jetzt Sinn :)

x + 1 wuerde nur den wert x+1 anzeigen, aber nicht x veraendern

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DaSpirit
16.10.2016, 17:31

Ahh, das ergibt Sinn, ja :D Dennoch verstehe ich nun nicht woher Python weiss, dass es sich um die einzelnden Buchstabe handelt.

0
Kommentar von Shacho
16.10.2016, 18:02

Das interpretiert der Interpreter halt einfach so, da gibts keine sinnvolle Erklaerung...

0
Kommentar von Shacho
16.10.2016, 18:03

das Wörtchen IN stellt halt eine forschleife mit index dar

0
Kommentar von Shacho
16.10.2016, 18:04

Schau dir sonst mal eine Forschleife bei der Programmiersprache C an, dann machts vlt. mehr Sinn. Es ist einfach eine Vereinfachung, damit man kein Index erstellen muss

0

Was möchtest Du wissen?