AB 4 Programmierung mit Python


Verschachtelte if-Anweisungen


Du kannst if-Anweisungen innerhalb von if-Anweisungen haben, dies nennen wir verschachtelte if-Anweisungen.


Beispiel:

x = 41

if x > 10:
    print("Über zehn,")
    if x > 20:
        print("und auch über 20!")
    else:
        print("aber nicht über 20.")


Erklärung: Der Code prüft zuerst, ob x größer als 10 ist. Wenn das der Fall ist, wird "Über zehn," ausgegeben. Danach wird überprüft, ob x auch größer als 20 ist. Falls ja, folgt: "und auch über 20!", andernfalls: "aber nicht über 20."


Da x = 41, sind beide Bedingungen wahr, und es wird folgendes ausgegeben:

Über zehn,
und auch über 20!


Achte immer auf die Einrückung!

Ablaufdiagramme


Ein Ablaufdiagramm hilft dabei, den Ablauf deines Programms visuell zu planen und darzustellen. Es ist besonders hilfreich bei der Strukturierung von verschachtelten if-Anweisungen.


Ablaufdiagramm des obigen Python-Codes

    flowchart TD
        A[Start] --> B[Bedingung: x > 10] --Wahr--> C["print(#quot;Über zehn, #quot;)"] --> D[Bedingung: x>20] --Wahr--> E["print(#quot;und auch über 20!#quot;)"]-->J[End]  
        B --Falsch--> G[End]
        D --Falsch--> H["print(#quot;aber nicht über 20.#quot;)"]-->I[End]
      



Um die folgenden Aufgaben zu lösen, ist es wichtig, dass du die Konzepte aus den vorherigen Arbeitsblättern gut beherrschst.


Aufgabe 1
Schreibe ein Programm für eine Bank. Eine Variable soll dabei den Kontostand eines Kunden enthalten.
Frage den Kunden daraufhin, wie viel Geld er abheben will.
a) Passe den Kontostand an, wenn der Betrag verfügbar ist und gib das neue Guthaben aus.
b) Teile dem Kunden mit, dass sein Konto leer sein wird, wenn der Abhebebetrag genau dem Kontostand entspricht.
c) Gib eine Fehlermeldung aus, falls der Abhebebetrag den Kontostand übersteigt. Gib das Guthaben in diesem Fall unverändert aus.

Tipp:


Aufgabe 2
Schreibe ein Programm, das das Spiel Schere-Stein-Papier zwischen zwei Spielern simuliert.
Regeln:
• Stein schlägt Schere
• Schere schlägt Papier
• Papier schlägt Stein
So kannst du vorgehen:
a) Frage beide Spieler nach ihrer Wahl (Schere, Stein oder Papier) mit der input()-Funktion.
b) Vergleiche die Eingaben der Spieler mithilfe einer if-elif-else-Kette.
c) Gib aus, welcher Spieler gewonnen hat oder ob es ein Unentschieden gibt.

Beispielablauf 1:

Spieler 1: Wähle Schere, Stein oder Papier: Stein
Spieler 2: Wähle Schere, Stein oder Papier: Schere
Stein gewinnt!


Beispielablauf 2:

Spieler 1: Wähle Schere, Stein oder Papier: Papier
Spieler 2: Wähle Schere, Stein oder Papier: Papier
Es ist ein Unentschieden!

Tipp:


Aufgabe 3
Die Firma It wasn't me hat folgende Anweisung für ihre Mitarbeiter ausgegeben. Schreibe ein Programm anhand des Ablaufplans.
    flowchart TD
    A[Funktioniert das System?]--Ja-->B[Fummel nicht daran herum!]-->C[Alles ist gut]
    A--Nein-->D[Bist du Schuld?]--Nein-->E[Dich trifft es nicht]
    D--Ja-->F[Du idiot!]-->G[Hat es jemand gemerkt?]--Ja-->H[Du hast ein Problem]-->I[Kannst du einem Anderen die Schuld zuschieben?]
    I --Nein-->J[Du hast wirklich ein großes Problem]
    I --Ja-->K[Keine Sorge, jemand anderes hat das Problem]
    G--Nein-->L[Man wird dich nie finden]
      


So kannst du mit deinem Code anfangen:

antwort = input("Funktioniert das System? ")

if antwort == "Ja":
    print("Fummel nicht daran herum!")
    print("Alles ist gut")
elif antwort == "Nein":
    antwort = input("Bist du Schuld? ")
    if antwort == "Ja":
        print("Du idiot!")
# Der weitere Code


Zusatzaufgabe 1
Schreibe ein Programm, das überprüft, ob ein vorher festgelegtes Jahr ein Schaltjahr ist. Dabei sind folgende Regeln zu beachten:

Beispiele:

Tipp:
Verwende den % Modulo-Operator (Division mit Rest), um zu überprüfen, ob eine Zahl durch eine andere teilbar ist. Zum Beispiel:

if jahr % 4 == 0:
# Code für Schaltjahr oder kein Schaltjahr