Loops

Python - Lernmodul 3

Loops (while, for) und Flussdiagramme

Lehr-Lernmaterialien

Auf Wikipedia finden sie eine gute Zusammenfassung zum Thema Flussdiagramm. Auch hier gilt: “Versuchen sie es einfach”. Erstellen sie doch einfach einmal ein Diagramm und fragen mich (oder MitschülerInnen), was ich davon halte. Wenn sie das Flussdiagramm digital erstellen wollen, empfehle ich Ihnen draw.io (siehe “Flowchart”).

Auf Youtube finden sie (teilweise) gute Erklärvideos zum Thema Python. Hier sind einige Beispiellinks zu den Themen While-Schleife und For-Schleife.

Die Plattform W3Schools bietet sich als Nachschlagewerk an (in Englisch). Hier ist der Link zum Thema While-Loop und For-Loop.

Auf der Website von Sylvia Lange finden sie noch weitere (gute) Übungsaufgaben. Hier sind die Aufgaben (17, 18, 19, 20) und die Lösungen 17 18 19 20 zum Thema Loops/Schleifen.

Prüfungsvorbereitung

Auftrag 1

Was ist der Output von diesem Programm? Übersetzen sie es in eine For-Schleife (wenn möglich) und erstellen sie ein Flussdiagramm dazu.

i = 2
while i < 5:
  print(i)
  i = i + 1
  print(i)

False

True

Start

i = 2

i < 5

Ende

Ausgabe von i

i = i+1

Ausgabe von i

Auftrag 2

Was ist der Output von diesem Programm? Übersetzen sie es in eine For-Schleife (wenn möglich) und erstellen sie ein Flussdiagramm dazu.

i = 5
while i < 10:
  i += 1  # Kurzform von i = i + 1
  if i == 8:
    print("Katze")
  else:
    print(i)

Lösungsvorschlag

# i = 5
# while i < 10:
#   i += 1 # Kurzform von i = i + 1
#   if i == 8:
#     print("Katze")
#   else:
#     print(i)

for i in range(6, 11):
  if i == 8:
    print("Katze")
  else:
    print(i)

False

True

True

False

Start

i = 5

i < 10

Ende

i=i+1

i == 8

Ausgabe Katze

Ausgabe i

Auftrag 3

Erstellen sie ein Programm, welches eine Zahl quadriert. Dabei soll das Programm so lange ausgeführt werden, bis der Benutzer ‘quit’ eingibt.

Lösungsvorschlag

while True:
    zahl = input("Geben sie eine Zahl oder 'quit' ein: ")
    if zahl == "quit":
        break
    else:
        quadrat = int(zahl)*int(zahl)
        print(quadrat)

Auftrag 4

Erweitern sie das Login aus dem Auftrag “Conditionals”, sodass das Konto nach 3 Fehlversuchen gesperrt wird.

Lösungsvorschlag

for i in range(0, 3):
    benutzer = input("Benutzername eingeben: ")
    passwort = input("Passwort eingeben: ")

    if benutzer == "tom":
        if passwort == "strudel123":
            print("Herzlich Willkommen")
            break
        else:
            print("Passwort nicht korrekt! Verbleibende Versuche: " + str(2 - i))
    else:
        print("Benutzer nicht gefunden! Verbleibende Versuche: " + str(2 - i))

    if i == 2:
        print("Zu viele Login-Versuche. Ihr Konto wurde aus Sicherheitsgründen gesperrt.")

Auftrag 5

Erstellen sie ein Programm, welches als Input eine Zahl nimmt und daraus die Fibonacci-Folge berechnet. Erstellen sie zusätzlich ein Flussdiagramm dazu. Was ist die Fibonacci-Folge? Hier Klicken (SimpleClub)

Lösungsvorschlag Code

n = int(input("Geben sie eine Zahl n ein: "))

vorvorgaenger = 1
vorgaenger = 1

for i in range(0, n):
    if i <= 1:
        print("1")
    else:
        fib = vorgaenger + vorvorgaenger
        vorvorgaenger = vorgaenger
        vorgaenger = fib
        print(fib)

Lösungsvorschlag Flussdiagramm

False

True

True

False

Start

Eingabe n

Vorgänger = 1

Vorvorgänger = 1

i=0

i < n

Ende

i <= 1

Ausgabe 1

fib = vorgänger+vorvorgänger

vorvorgänger=vorgänger

vorgänger=fib

Ausgabe fib

Wiederverwendung

Zitat

Bitte zitieren Sie diese Arbeit als:
Conrardy, R. (n.d.). Loops. University of Teacher Education Bern. https://phbern-rconrardy.github.io/lerngelegenheiten/