Materialien zum Unterricht



Die for-Schleife

Das folgende Programm wurde im Roberta-Laberstellt und enthält einen der oben gezeigten Schleifen-Codes.
Erläutere die Funktionsweise des Codes.

Ausgabe einer Liste im Calliope Mini

Wofür kann man eine for-Schleife nutzen?


Eine for-Schleife wird mit Hilfe einer Laufvariable i von links nach rechts durchlaufen.
Im ersten Durchlauf erhält i als Variablenwert den ersten Wert des sequentiellen Datentyps ( z.B. liste[0] ).
Mit diesem Wert kann nun gearbeitet werden.
Die Laufvariable i bekommt in jedem Durchlauf einen neuen Variablenwert zugeordnet, nämlich genau den Wert, der im sequentiellen Datentyp an der Stelle liste[ i ] steht.


Merkmale der for-Schleife:


Beispiel Liste:



Beispiel Tupel:



Beispiel String:



Aufgabe 1:

Öffne eine neue Datei und speicher sie unter dem Namen for_a1.py ab.
Die Aufgabe 2b)wurde hier mit einer while-Schleife gelöst. Das geht auch kürzer!
Löse die Aufgabe mit Hilfe einer for-Schleife.


Lösung
tiere = ["Hund", "Katze", "Maus", 2, 55, 45, 5.5]
for i in tiere:
    print (type(i))


Aufgabe 2:

Die Funktionrange(n) gibt eine Sequenz von Nummern in Einerschritten aus. Diese Sequenz startet bei der Übergabe von nur einem Parameter immer bei 0 und endet bei n-1.

Schreibe einen Code, der die Zahlen von 0 bis n (n... von Nutzer eingegebene Zahl) miteinander addiert und am Ende das Ergebnis ausgibt.
Nutze dazu die Funktion range().
Speichere das Programm unter dem Namen for_a2_range.py ab.

Weitere Möglichkeiten der Nutzung der range()-Funktion findest du wenn du auf den Link klickst.


Tipp 1
Der Wert an der 1. Stelle ist 0
Tipp 2
Der Wert an der letzten Stelle ist n-1
Tipp 3
Anders als bei einer while-Schleife wird die Variable n
einmalig zu Beginn der for-Schleife abgefragt.
Tipp 4
Man kann in jedem Schleifendurchlauf n einen neuen Wert zuweisen.


Lösung
n = int(input("Gib eine Zahl ein: "))
for i in range(n):
    n += i
print(n)


Aufgabe 3:

Schleifen lassen sich auch ineinander verschachteln. D.h. innerhalb einer Schleife wird erneut eine Schleife aufgerufen.
Das Prinzip sollte vom Calliope Mini bekannt sein.

Im folgenden Beispiel arbeitet die erste Schleife die Liste mit den Ziffern 1 und 2 ab und wird somit 2 mal durchlaufen.
Die zweite Liste enthält 3 Elemente. Sie soll innerhalb der ersten Schleife aufgerufen werden und muss daher einegrückt stehen.
Die Ausgabe erfolgt innerhalb der zweiten for-Schleife. Das Programm liefert dadurch 2*3=6 Ausgaben.



  1. Erweitere im Programm die Ausgabe so, dass die Zahlen als Additionsaufgaben ausgegeben werden.
  2. Ändere das Programm so um, dass das kleine Einmaleins ausgegeben wird.

Beispielbilder:

... ...


Lösung zu 1
liste_1 = [1,2]
liste_2 = [3,4,5]
for i in liste_1:
    for j in liste_2:
        print(i,"+",j,"=",i+j)



Lösung zu 2
liste_2 = [3,4,5]
for i in liste_2:
    for j in range(1,10):
        print(j,"*",i,"=",i*j)





Zurück