Materialien zum Unterricht



Die while-Schleife

Das folgende Programm enthält einen der oben gezeigten Schleifen-Codes.
Erläutere die Funktionsweise des Codes.

Programmblock Calliope Mini Programmblock Calliope Mini


Aufgabe 1

Der im Bild gezeigte Code lässt sich auch in Python umsetzen.
Öffne eine neue Datei und speicher sie unter dem Namen while_a1.py ab.
Übernehme anschließend den folgenden Code in deine Datei:

zahl = 4 
while zahl > 0:
print(zahl)

Ergänze den Code mit der fehlenden Anweisung.

Lösung 1
zahl = zahl - 1
Lösung 2
zahl -= 1

Worauf muss man bei der Verwendung der while-Schleife achten?


Merkmale der while-Schleife:


Aufgabe 2

Erstelle eine neue Python-Datei und speicher sie unter dem Namen while_a2.py ab.
Setze den folgenden Pseudocode in ein funktionierendes Python-Programm um.

Eingabe gewünschter Zuckerstückchen im Tee
Zuckerstückchen werden hinzugegeben bis gewünschte Menge erreicht ist.
Ausgabe: Hier ist Ihr Tee mit ... Zuckerstücken
Tipp




Lösung
#Zähler anlegen
i = 0
#Variable für Anzahl Zucker anlegen und Wert zuweisen
z = int(input("Wieviele Zuckerstückchen möchten Sie im Tee?"))
#while-Schleife mit Bedingung i < z
while i < z:
    print("1 Stück Zucker wurde dem Tee hinzugegeben.")
    i += 1
print("Hier ist Ihr Tee mit" , z , "Zückerstückchen.")





Zusatz

Modifiziere deinen Code so, dass ab einer gew¨nschten Menge von 5 Zuckerstücken eine Warnung vor zu viel Zucker im Tee ausgegeben wird.
Sollte der eingegebene Wert größer als 8 sein, soll ein Spruch deiner Wahl ausgegeben werden.



Aufgabe 3

Erstelle eine neue Python-Datei und speicher sie unter dem Namen while_a3.py ab.
Ein Roboter soll backen lernen. Leider fehlt ihm der Code, um zu entscheiden wieviele Esslöffel voll Wasser er dem Teig hinzugeben muss.
Ein Esslöffel fasst ca. 15 ml Wasser. Dem Teig sollen 90 ml Wasser "zugeführt" werden.
Schreibe einen funktionierenden Programmcode, der dem Teig solange löffelweise Wasser "zuführt" (print()), bis 90 ml Wasser im Teig sind.
Lass dir am Ende die Anzahl der Löffel und die Menge an Wasser im Teig ausgeben.





Lösung
#Zähler anlegen
i = 0
#while-Schleife mit Bedingung i < 90
while i < 90:
    print("1 Löffel Wasser wurde zum Teig gegeben")
    i += 15 #1 El = 15 ml
print("Anzahl der Löffel Wasser im Teig: " , i//15)
print("Menge Wasser im Teig: " , i, "ml")





Zusatz

Modifiziere deinen Code so, dass man dem Roboter vorgeben kann wie viel Wasser er dem Teig hinzugeben soll. Wenn man weniger als einen ganzen Esslöffel Wasser benötigt, soll abgerundet werden.



Aufgabe 4 (Abschlussaufgabe)

Erstelle eine neue Python-Datei und speicher sie unter dem Namen while_a4_fakultaet.py ab.
Die Fakultät ist in der Mathematik eine Funktion, die einer natürlichen Zahl das Produkt aller natürlichen Zahlen (ohne Null) kleiner und gleich dieser Zahl zuordnet. Dabei gilt:

Formel für die Fakultät

Schreibe einen Code der eine beliebige, positive natürliche Zahl einliest. Anschließend soll die Fakultät der eingelesenen Zahl berechnet und nur das Ergebnis ausgegeben werden.
Beachte auch, dass bei 0! als Ergebnis 1 angezeigt werden muss.
Das Programm sollte in der ausführung folgendermaßen aussehen:

Programm Fakultaet Programm Fakultaet






Beispiellösung
print("Hier wird die Fakultät einer beliebigen Zahl berechnet.")
zahl = int(input("Gib eine positive natürliche Zahl ein: "))
i = zahl
fak = 1
if zahl == 0:
    print("0! ergibt: 1")
else:
    while i !=0:
        fak *= i
        i -= 1
    print(zahl,"! ergibt:",fak)






Zusatz

Ergänze dein Programm so, dass bei der Eingabe von Zahlen kleiner als 0 eine Fehlermeldung ausgegeben wird. Das Programm soll danach keine weiteren Anweisungen durchlaufen.





Zurück