For i in range, was und wofür?
Hi, bin in der 13. Klasse und haben in DV (Informatik) grad binäre- und lineare Suche. Es taucht immer wieder for i in range… auf und danach sowas mit [i], kann mir jemand erklären was das bedeutet und wofür man das benutzt? Hier ein Beispiel, in dem es darum geht, dass das Programm einen geheimen Buchstaben ausspuckt, nachdem man den eigentlichen eingegeben hat:
alphabet_geheim = ["A", "D", "Z", "V", "P", "H", "W", "X", "B", "Q", "R", "C", "O", "Y", "E", "G", "U", "L", "M", "F", "J", "S", "T", "I", "K", "N"]
buchstabe_geheim = ""
buchstabe_klar = input("Geben Sie einen Buchstaben ein, der Verschlüsselt werden soll:")
for i in range (len(alphabet_klar)):
if buchstabe_klar == alphabet_klar[i]:
buchstabe_geheim = alphabet_geheim[i]
print("Geheimbuchstabe:", buchstabe_geheim)
2 Antworten
range() ist ein Generator, der Dir eine Folge von Zahlen generiert.
Die for-Schleife in Python ist eigentlich eine foreach-Schleife, sie iteriert über Objekte die iterierbar sind, wie Listen, Tupel, Folgen usw. .
Dadurch, daß ich for mit einem Zahlengenerator kombiniere, erhalte ich konzeptionell eine klassische for.schleife, bei der eien Variable nacheinander verschiedene Zahlenwerte annimmt.
for i in range (len(alphabet_klar)):
Länge des iterierbaren Objektes alphabet_klar
^^^^^erzeuggt Zahlenfolge von 0 bis länge-1
^ nimmt nacheinander Werte von 0.. länge-1 an
Im Schleifenkörper kann i dann verwendet werden, hier konkret wird damit auf das i-te Element von alphabet_klar zugegriffen. Hierfür wird [index] verwendet.
Der Code ist etwas gruselig *grins*
Es handelt sich um eine Schleife. Der Code, der unter der Schleife eingerückt ist, wird so oft ausgeführt, wie es in der bedingung spezifiziert wurde.
Hier wird der Code für jeden Wert in "range(len(alphabet_klar))" der Reihe nach einmal aufgerufen. Der Wert für die Variable i wird auf den Entsprechenden Wert aus "range(len(alphabet_klar))" gesetzt.
Mittels des Zugriffsoperators "<data_structure>[<index>]" kann auf eine Datenstruktur Zugegriffen werden. Der Term entspicht dem entsprechendem Wert der Datenstruktur am Index.