Zum Inhalt springen
paulbr75 / Pixabay

for-Schleifen

Grundgerüst

Mit dem folgenden Code wird eine Schleife durchlaufen. Der Vorgang, der in dem Anweisungsblock steht wird so oft wie die Zahl in der Funktion range() wiederholt.

for i in range(5):
    print('Dieser Text wiederholt sich 5 mal!')

So kannst du den Code auch etwas flexibler gestalten, in dem du den Wert der Variablen n festlegst und übergibst:

n = 10

for i in range(n):
    print('Dieser Text wiederholt sich',n,'mal!')

In Python kannst du for-Schleifen auch durch Listen oder Strings durchlaufen lassen:

#Quelle: https://www.w3schools.com/python/python_for_loops.asp

#Schleife durchläuft Elemente einer Liste
fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)

#Schleife durchläuft Character eines Strings
for x in "banana":
  print(x)

Übung 1

  1. Probiere die Beispielcodes oben aus. Erhältst du die erwartete Ausgabe? Nein? Ändere Paramater, um den Code besser zu verstehen.
  2. Schreibe einen Code, der nach einer vorgegebenen Zahl den folgenden Text ausgibt:
    “Du sollst nicht durch 0 teilen!”

Übung 2

Analysiere diesen Code und beantworte anschließend die Fragen:

for x in range(4, 9):
  print(x)

Übung 3

Analysiere diesen Code und beantworte anschließend die Fragen:

for x in range(12, 40, 3):
  print(x)

Übung 4

Analysiere die folgenden Code-Blöcke und beantworte dann die Fragen.

#Beispiel 1 mit Zahlen
for i in range(5):
    for j in range(4):
        sum = i+j
        print(i," + ",j, " = ", sum)

#Beispiel 2 mit zusammengesetzten Worten aus Listen
adj = ["schlaue", "gelbe", "kleine"]
namen = ["Ente", "Layla", "Banane"]

for x in adj:
  for y in namen:
    print(x, y)

  1. Analysiere. Analysiere bedeutet, dass du dir den Code Zeile für Zeile ansiehst, dahinter schreibst, was passiert und ein mal erklärst, was insgesamt passiert. Dazu musst du den Code natürlich kopieren und in eine eigene Datei schreiben.
  2. Beantworte die Fragen unten. Wenn du unsicher bist, schau dir Tipps darunter an.

Tipps zu den Fragen

Zu der Zählfrage:

num = 0 #Dieser Wert soll gleich in der doppelten Schleife die Nr. des Wertes mitzählen
for i in range(3):
    for j in range(4):
        sum = i+j
        num += 1 #Zähler wird mit jedem Gesamtdurchlauf um 1 erhöht
        print("Nr. ",num,": ", i," + ",j, " = ", sum)

Übung 5*

Mit for-Loops geht so einiges mehr! Hier ein kleiner Einblick für dich, falls du so schnell so weit gekommen bist.

Wir schreiben simple Geheimbotschaften, indem wir jeden x-ten Buchstaben auslassen.

Schreibe ein Skript, welches ein Wort in seine Buchstaben aufteilt und in eine Liste übergibt. Gib anschließend jeden zweiten (dritten, vierten) Buchstaben aus. (Du darfst den Text auch ohne Leerzeichen schreiben, das macht das Entschlüsseln einfacher.)

Tipp:

#Tipp Teil 1
text = "Das ist mein Text." #ein Text
liste = list(text) #Text wird als Liste gespeichert. Dabei wird jeder Character, auch Leerzeichen als Listenelement gespeichert

print(liste[0]) #gibt also den 1. Character des Textes text aus
print(liste[6]) #gibt also den 7. Character des Textes text aus

#Tipp Teil 2
for index, x in enumerate(text):
    if index % 2 == 0:
        print(x)
    else:
        print("-")

Erstelle einen Geheimtext oder lasse ihn durch einen Nutzer eingeben. Überlege dir selbst eine Rechenregeln für den Index, um die Geheimbotschaft auszugeben. Viel Spaß!


Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline-Feedback
Sieh alle Kommentare
0
Freue mich auf deine Ideen, kommentiere!x
()
x