5  Verzweigungen

Inhalte stammen von (Foundation), lizensiert unter

5.1 Arithmetische Operationen

Slides

5.1.1 Aufgaben - Arithmetische Operationen

Bearbeite die 3 Aufgaben.

A01

Erstelle in unserem Programmierordner einen neue Datei 02_Verzweigungen_Arithmetik_[DeinNachname].py. Kopiere den untenstehenden Code in diese Datei. Beantworte die Fragen (im Code als Kommentar integriert).

print("---Willkommen bei Split My Bill---")
print("Wie hoch ist die Gesamtrechnung?")
bill_total = float(input())
print("Wie viele Personen teilen sich die Rechnung?")
people = int(input())
print("Welchen Prozentsatz Trinkgeld möchtest du geben?")
tip_percentage = int(input())

percentage_decimal = tip_percentage / 100
tip_total = bill_total * percentage_decimal
bill_total = bill_total + tip_total

cost_per_person = bill_total / people

print(f"Die Gesamtrechnung inklusive Trinkgeld beträgt €{bill_total}")
print(f"Die Gesamtkosten pro Person betragen €{cost_per_person}")


''' FRAGEN:
----------------------------------------

Hier ist die nummerierte Übersetzung:

1. Was ist die erste Frage, die vom Programm gestellt wird?
2. Welcher Datentyp wird für bill_total verwendet?
3. Warum wird dieser Datentyp für bill_total benötigt?
4. Welcher Datentyp wird in Zeile 5 für die Anzahl der Personen verwendet?
5. Warum wird dieser Datentyp verwendet?
6. In Zeile 7 wird der Prozentsatz des Trinkgelds eingegeben, den die Gruppe hinterlassen möchte. Was passiert in Zeile 9?
7. Was wird in Zeile 10 berechnet?
8. In Zeile 11 wird die Variable bill_total mit dem Ausdruck bill_total + tip_total neu zugewiesen. Beschreibe, was hier passiert.
9. Welche Art von Fehler tritt auf (Laufzeit/Syntax/Logik), wenn du "Hallo" für die erste Frage eingibst?
10. Was könntest du tun, um diesen Fehler zu vermeiden?
'''

A02

Befolge die Hinweise und verändere das Programm aus der ersten Aufgabe.

Änderung Hinweis
Die Zeilen 9 bis 11 enthalten drei separate arithmetische Ausdrücke, die die endgültige Gesamtrechnung berechnen. Verwende dein Wissen über BIDMAS, um einen einzigen Ausdruck zu schreiben, der die gleiche Berechnung durchführt. Versuche, den Ausdruck zuerst auf ein Blatt Papier zu schreiben und ihn mit einem Taschenrechner zu testen. Denke darüber nach, was zuerst berechnet werden muss und wie du BIDMAS verwenden kannst, um dies zu erreichen. Verwende # Hashtags vor den ursprünglichen drei Codezeilen, damit du sie als Referenz lesen kannst, während du deine neue Codezeile testest.
#percentage_decimal = tip_percentage / 100 #tip_total = bill_total * percentage_decimal #bill_total = bill_total + tip_total 

A03

Aufgrund des Erfolgs der „Split my bill“-App wurdest du gebeten, eine neue App namens „Split my pizza“ zu erstellen. Diese App soll dem Benutzer zeigen, wie er eine Pizza gleichmäßig unter seinen Freunden aufteilen kann. Erstelle dazu eine neue Datei mit dem Namen 02_Verzweigungen_Pizzasplitter_[DeinNachname].py

Die App sollte:

  • Nach der Anzahl der Stücke auf der Pizza fragen
  • Fragen, wie viele Personen die Pizza teilen
  • Zeigen, wie viele Stücke jeder bekommt
  • Zeigen, ob Stücke übrig bleiben

Hinweis: Du musst für dieses Programm Mod % und Ganzzahldivision // verwenden. Hier ist ein Beispiel für die Verwendung von Ganzzahldivision und Mod für Zähler. Du könntest dies auf deine eigene Lösung anwenden:

counters_each = 10 // 3
counters_remaining = 10 % 3

🔥 Erweiterung für sehr Gute SchülerInnen

Die App könnte auch:

  • Den Code von „Split my bill“ integrieren, indem sie berechnet, wie viel jeder für seinen Anteil an der Pizza bezahlen muss.

5.2 Was sind Verzweigungen?

Slides

5.2.1 Aufgabe 01

A01 - Output

Lade die Datei Output.docx herunter und speichere diese in deinem Programmierordner. Öffne diese und bearbeite die Fragen. Zeige mir deine Antworten wenn du fertig bist.

A02 - Code analysieren

Erstelle in unserem Programmierordner eine neue Datei 03_Verzweigungen_Intro_[DeinNachname].py. Kopiere den untenstehenden Code in diese Datei. Beantworte die Fragen (im Code als Kommentar integriert) direkt im Programmcode!

print("Wie heißt du?")
name = input().lower() 
if name == "Tobias":
  print("Wie geht es dir, Tobias!")
else:
  print(f"Schöner Name, {name}")
print(f"Also {name}, ist es heiß oder kalt bei dir heute?")
weather = input().upper()
if weather == "kalt":
  print("Du musst frieren!")
elif weather == "heiß":
  print("Trinke viel Wasser")
else:
  print("Ich kann dir bei dieser Wetterlage keinen Rat geben.")
print("Magst du die Farbe Blau?")
likes_blue = input()
if likes_blue == "Ja":
  print("Ich mag Blau auch")
print("Hab einen schönen Tag! Tschüss!")

''' FRAGEN & ANWEISUNGEN
----------------------------------------
1. Führe den Code aus und gib Tobias in Großbuchstaben ein, wenn nach deinem Namen gefragt wird.
   - Welcher Text wird sofort auf dem Bildschirm ausgegeben?

2. Führe den Code erneut aus und gib tobias in Kleinbuchstaben ein, wenn nach deinem Namen gefragt wird.
   - Welcher Text wird sofort auf dem Bildschirm ausgegeben?

3. Gehe zu Zeile 2 und lösche .lower() am Ende der Codezeile. Führe den Code erneut aus und gib TOBIAS in Großbuchstaben ein.
   - Welcher Text wird sofort auf dem Bildschirm ausgegeben?

4. Führe den Code erneut aus und gib tobias in Kleinbuchstaben ein, wenn nach deinem Namen gefragt wird.
   - Welcher Text wird sofort auf dem Bildschirm ausgegeben?

5. Füge den .lower() Code wieder am Ende von Zeile 2 hinzu.
   - Welche Funktion denkst du, erfüllt .lower()?
   - Hinweis: Wenn du dir unsicher bist, gib diesen Code print(name) in Zeile 3 ein, um zu drucken, was in der Variablen name gespeichert ist. Denke daran, ihn nach dem Testen zu löschen.

6. Zeile 8 hat .upper() am Ende der Eingabe.
   - Welche Funktion denkst du, erfüllt .upper()?
   - Hinweis: Verwende die gleichen Untersuchungstechniken wie oben, wenn du dir unsicher bist.

7. Warum denkst du, dass .lower() und .upper() wichtig sein könnten, wenn du überprüfst, ob Bedingungen wahr oder falsch sind?

8. Zeile 5 und 6 enthalten ein else: und eine print-Anweisung.
   - Muss die Bedingung name == "Tobias": wahr oder falsch sein, damit diese Codezeilen ausgeführt werden?

9. Zeilen 9 bis 12 enthalten diesen Code:
   
   if weather == "kalt":
     print("Du musst frieren!")
   elif weather == "heiß":
     print("Trinke viel Wasser")
   
   - Wenn der Benutzer kalt auf die Wetterfrage eingibt, was wird direkt danach auf dem Bildschirm ausgegeben?

   - Wenn der Benutzer heiß auf die Wetterfrage eingibt, was wird direkt danach auf dem Bildschirm ausgegeben?
   
10. Zeilen 13 bis 14 enthalten diesen Code:

    else:
      print("Ich kann dir bei dieser Wetterlage keinen Rat geben.")

    - Was muss der Benutzer eingeben, damit „Ich kann dir bei dieser Wetterlage keinen Rat geben.“ ausgegeben wird?

11. Zeilen 17 und 18 enthalten diesen Code:

    if likes_blue == "Ja":
      print("Ich mag Blau auch")

    - Was muss der Benutzer eingeben, damit „Ich mag Blau auch“ ausgegeben wird?

    - Was wird auf dem Bildschirm angezeigt, wenn der Benutzer ja, JA oder etwas anderes eingibt?

'''

A03 - Code verändern

Verändere das Programm wie folgt:

Änderung Hinweis
Passe den Code in den Zeilen 16 und 17 so an, dass die Eingabe in Großbuchstaben umgewandelt wird und dies in der Bedingung überprüft wird. Sieh dir die Zeilen 8 und 9 an, um zu sehen, wie es dort gemacht wurde. Denke daran, deinen Code zu testen.
Füge in Zeile 7 einen elif-Zweig ein, der überprüft, ob der Name Leia ist. Wenn der Name Leia ist, sollte die Nachricht „Die Macht ist mit dir“ anzeigen. Sieh dir das elif an, das verwendet wird, wenn das Wetter heiß ist, um zu sehen, wie der Code strukturiert ist. Denke daran, deinen Code zu testen.
Häufige Fehler
  • Das elif wurde eingerückt (stelle sicher, dass es auf einer Linie mit dem if darüber ist)
  • leia wurde nicht in Kleinbuchstaben innerhalb der Bedingung geschrieben
  • Ein Doppelpunkt : fehlt am Ende der Bedingung.
  • Die print-Anweisung ist nicht unter dem elif eingerückt
  • Verwende ein else mit der letzten if-Anweisung.
Änderung Hinweis
Bei if likes_blue == "Ja": –> wenn der Benutzer nicht Ja eingibt, wenn er gefragt wird, ob er Blau mag, sollte das Programm „Das ist schade, denn ich mag Blau wirklich“ ausgeben. Denke daran, dass else: keine Bedingung benötigt. Denke daran, deinen Code zu testen.
Häufige Fehler
  • else wurde mit einem großen E geschrieben
  • Der Doppelpunkt : fehlt nach dem else
  • Die print-Anweisung darunter ist nicht eingerückt

A04 - Bonus

🔥 Für die sehr guten ProgrammiererInnen unter euch:
  • Modifiziere das Programm weiter, indem du am Ende eine weitere Frage hinzufügst. Verwende if, elif, else um maßgeschneiderte Antworten zu geben.
  • Formuliere die Fragen und Antworten zu den Fragen um, zum Beispiel: Was ist deine Lieblingshunderasse?

5.2.2 Aufgabe 02: Die Witzmaschine

Suche dir einen Partner. Einer von euch erstellt in Visual Studio Code eine neue Datei 03_Verzweigungen_JokeMachine_Nachname1Nachname2.py.

Einführung

Dies ist eine Paarprogrammierungsaktivität:

Wikipedia

Pair Programming ist eine Softwareentwicklungstechnik, bei der zwei Programmierer gemeinsam an einem Arbeitsplatz arbeiten. Einer, der Fahrer, schreibt den Code, während der andere, der Beobachter oder Navigator, jede Zeile des Codes überprüft, während sie eingegeben wird. Die beiden Programmierer wechseln häufig die Rollen.

Ihr werdet in Paaren arbeiten, um ein Witzmaschinenprogramm zu erstellen. Denkt daran, alle fünf Minuten die Rollen von Fahrer und Navigator zu wechseln. Der Fahrer programmiert und der Navigator versucht den Fahrer zu unterstützen..

Szenario

Die Witzmaschine ist ein Programm, das eure Fähigkeiten in Witz-Pointe erraten testet. Es gibt euch die Eröffnungszeile eines Witzes und ihr müsst die Pointe erraten. Wenn ihr richtig liegt, gewinnt ihr einen Punkt!

Verwendet die bereitgestellten Witze, um ein Programm zu erstellen, das:

  • Eine Einführung in das Spiel enthält
  • Den Anfang eines Witzes erzählt
  • Dem Benutzer erlaubt, die Pointe zu erraten
  • Überprüft, ob der Benutzer richtig liegt
    • Dem Benutzer einen Punkt gibt, wenn er richtig rät
    • Feedback gibt, wenn er richtig rät
    • Feedback gibt, wenn er falsch liegt
  • Am Ende die endgültige Punktzahl enthüllt

Witze

Was ist orange und läuft durch den Wald? Eine Wanderine

Was macht ein Pirat am Computer? Er drückt Enter

Was ist ein Baum ohne Blätter? Holz

A01

  • Schreibt einen Text, der den Benutzer in das Spiel einführt. Er könnte einen Titel und einfache Anweisungen enthalten.
  • Verwendet die print-Anweisung, um diesen Text dem Benutzer anzuzeigen.
  • Testet euren Code.

Beispielcode:

print("Errate die Pointe...")
Häufige Fehler
  • Großes P für print verwendet
  • Klammern am Anfang oder Ende des Textes fehlen
  • Anführungszeichen am Anfang oder Ende des Textes fehlen

A02: Frage nach der Pointe

  • Schreibt die Eröffnungszeile des ersten Witzes
  • Erstellt eine Variable, um die Eingabe des Benutzers zu speichern
  • Entscheidet, ob ihr die Daten in Groß- oder Kleinbuchstaben umwandeln möchtet, und verwendet die entsprechende Funktion dafür
  • Schreibt eine if-Anweisung, die eine Bedingung enthält, um zu überprüfen, ob die Punchline des Benutzers korrekt ist
  • Gebt einen Text aus, der angezeigt wird, wenn der Benutzer richtig liegt
  • Testet euren Code

Beispielcode:

print("Hier ist der Anfang meines Witzes")
punchline = input().upper()
if punchline == "DIE POINTE":
    print("Gut gemacht, du lagst richtig!")
Häufige Fehler
  • Großes I für If verwendet
  • Ein =-Zeichen anstelle von == verwendet
  • Doppelpunkt : am Ende der if-Anweisung fehlt
  • Einrückungen/Leerzeichen fehlen
  • Anführungszeichen um die Punchline in der Bedingung fehlen
  • Punchline in der Bedingung ist in Großbuchstaben geschrieben, aber .lower() wurde verwendet

A03: Punktestand halten

  • Erstellt eine Variable, um den Punktestand zu verfolgen

  • Initialisiert die Variable am Anfang des Codes score = 0

  • Erhöht den Punktestand innerhalb der if-Anweisung score = score + 1

  • Testet euren Code, indem ihr print(score) in eine neue Zeile einfügt

  • Löscht die Zeile print(score), sobald das Testen abgeschlossen ist. :::{.callout-note} ## Häufige Fehler

  • Punktestand wurde nicht am Anfang des Codes initialisiert

  • Falsche Schreibweise der Punktestand-Variable

  • Punktestand wurde nicht an der richtigen Stelle erhöht (er sollte direkt unter der Gut gemacht-Anweisung, innerhalb der if-Anweisung, stehen) :::

A04: Feedback, wenn der Benutzer falsch liegt

  • Fügt ein else: unterhalb der if-Anweisung hinzu
  • Fügt eine print-Anweisung hinzu, die Feedback zum Witz gibt
  • Testet euren Code

Beispielcode:

else:
    print("Falsch, es war diese Pointe")
Häufige Fehler
  • Großes E für Else verwendet
  • Doppelpunkt : nach dem else fehlt
  • print-Anweisung nicht eingerückt
  • else ist nicht auf gleicher Höhe wie if

A05: Weitere Witze hinzufügen

  • Überprüft doppelt, ob euer Code korrekt funktioniert. Er sollte Feedback geben, wenn der Benutzer richtig oder falsch liegt. Führt das Programm aus, um dies zu überprüfen, und testet jedes Szenario.
  • Fügt die anderen beiden Witze zum Programm hinzu.
  • Stellt sicher, dass ihr regelmäßig testet.
Häufige Fehler
  • Einrückungen an der falschen Stelle (vergleicht mit eurem ursprünglichen funktionierenden Codeblock, um zu überprüfen, ob eure Einrückungen übereinstimmen)
  • Fehlende Doppelpunkte
  • Großbuchstaben am Anfang von Schlüsselbegriffen verwendet: else, if, print

A06: Endgültigen Punktestand enthüllen

Hakt die Teilaufgaben ab, während ihr sie erledigt: - Verwendet eine print-Anweisung, um den endgültigen Punktestand dem Benutzer zu enthüllen - Testet euren Code

Häufige Fehler (verwendet diese Checkliste, um euren Code zu debuggen):

  • score = score + 1 wurde nicht korrekt in jede if-Anweisung eingefügt
  • Falsche Schreibweise der Punktestand-Variable

A07: Verbessert euer Spiel

Euer Benutzer könnte etwas eingeben, das korrekt ist, aber etwas anders formuliert ist. Zum Beispiel könnte er anstelle von “ein brauner Stock” einfach “brauner Stock” schreiben. Dies wäre immer noch eine korrekte Antwort.

Hakt die Teilaufgaben ab, während ihr sie erledigt: - Fügt einen elif-Block zu den Witzen “brauner Stock” und “Zeitung” hinzu, damit der Benutzer trotzdem einen Punkt erhält, wenn er das “ein” weglässt - Denkt daran, dass euer Benutzer auch für seine korrekte Antwort einen Punkt erhält - Testet euren Code

Beispielcode:

elif punchline == "BRAUNER STOCK":
    print("Du hast es erraten!")
    score = score + 1

Häufige Fehler (verwendet diese Checkliste, um euren Code zu debuggen):

  • Großes E für Elif anstelle von Kleinbuchstaben verwendet
  • Doppelpunkt : am Ende des elif fehlt
  • print und score sind im elif nicht eingerückt
  • elif an der falschen Stelle geschrieben (es sollte nach dem if und vor dem else stehen)

🔥 Bonus-Aufgaben

  • Verbessert das Spiel weiter, indem ihr über andere mögliche Antworten nachdenkt, die Benutzer geben könnten, und Feedback dafür bereitstellt
  • Verwendet eine weitere Bedingung, um dem Benutzer basierend auf seiner Punktzahl Feedback zu geben. Es sollte Feedback für 0, 1, 2 oder 3 Punkte geben.

5.2.3 Aufgaben 03: Logische Ausdrücke

Es gibt 3 Aufgaben die zu lösen sind.

A01: Code Puzzle

Erstelle in Visual Studio Code eine neue Datei 05_Verzweigungen_PasswortChecker_DeinNachname.py. Kopiere den untenstehenden Code in die neue Datei. Er enthält alle notwendigen Zeilen, um einen einfachen Passwort-Checker zu erstellen.

Deine Aufgabe ist es, die Codezeilen so zu ordnen, dass das Programm:

  • Nach einem Passwort fragt
  • Es mit dem gespeicherten Passwort überprüft
  • Wenn es mit dem gespeicherten Passwort übereinstimmt, wird “Zugang gewährt” ausgegeben
  • Wenn es nicht übereinstimmt, wird “Zugang verweigert” ausgegeben

Hinweis: Du musst die Einrückungen hinzufügen, wo erforderlich.

if password == stored_password:
print("Passwort eingeben:")
password = input()
else:
print("Zugang gewährt")
print("Zugang verweigert")
stored_password = "HTLKuchl2025!"

A02: Sandwich-Bestellrechner

  • Erstelle in Visual Studio Code eine neue Datei 05_Verzweigungen_SandwichKalkulator_DeinNachname.py.
  • Schau dir den folgenden Code an. Lies ihn sorgfältig durch und versuche vorherzusagen, was passieren könnte, wenn dieser Code ausgeführt wird. Denke an die verschiedenen Eingaben, die mit diesem Programm verwendet werden könnten.
  • Schreibe deine Gedanken oben in den Kommentarbereich, den ich vorbereitet habe.
  • Führe die Datei mit diesem Code aus. War deine Vorhersage korrekt? Ist etwas Unerwartetes passiert? Notiere dies auch im Kommentarbereich.
""" Deine Vorhersagen:

"""

""" Fragen:
- Welche Brotsorte musst du wählen, damit die Gesamtkosten um €3.00 steigen?
- Welche Füllungen kannst du wählen, damit die Gesamtkosten um €1.00 steigen?
- Welche Entscheidungen führen dazu, dass eine Zuckersteuer erhoben wird?
- Liste die zwei möglichen Entscheidungen auf, die du treffen kannst, um €0.50 von den Gesamtkosten abzuziehen.
- Ändere bei "if dessert == "keins" or drink == "keins":" or in ein and. Was muss passieren damit das Programm €0.50 von den Gesamtkosten abzieht?
"""

total_cost = 0.00
sugar_tax = 0.50
print("Sandwich oder Wrap?")
bread_type = input()
print("Fleisch, Vegetarisch oder Vegan?")
filling_type = input()
print("Keks, Chips, Obst oder Keins")
dessert = input()
print("Sprudelgetränk, Wasser, Saft oder Keins")
drink = input()
if bread_type != "sandwich":
    total_cost = 2.00
else:
    total_cost = 3.00
if filling_type == "vegetarisch" or filling_type == "vegan":
    total_cost = total_cost + 1.00
else:
    total_cost = total_cost + 1.50
if pudding == "keks" and drink == "sprudelgetränk":
    total_cost = total_cost + sugar_tax
if dessert == "keins" or drink == "keins":
    total_cost = total_cost - 0.50
print(f"Ihre Gesamtkosten betragen: £{total_cost}")

Programm verändern

Hinweis: Der Code funktioniert nur, wenn du die Daten in Kleinbuchstaben eingibst. Ändere den Code so, dass er die Eingabe automatisch in Kleinbuchstaben umwandelt. Denke an die Techniken, die du in den letzten Übungen verwendet hast. Sieh dir alten Code noch einmal an. Zum Beispiel wird .upper() den Text in Großbuchstaben umwandeln.

  • Füge eine Option hinzu, und frage ob eine zusätzliche Sauce (Ketchup, Senf…) gewünscht ist.
  • Füge eine Option hinzu, und frage ob ein Salat gewünscht wird.
  • Füge Code hinzu, um die Gesamtkosten um €1 zu erhöhen, wenn eine zusätzliche Soße UND einen zusätzlicher Salat gewählt wurde.

A03: Pizzakalkulator

Erstelle in Visual Studio Code eine neue Datei 05_Verzweigungen_Pizzakalkulator_DeinNachname.py. Ein Pizzarestaurant möchte, dass du ein Programm erstellst, dass die Gesamtkosten für jede Pizza berechnet, die sie verkaufen. Hier ist eine Übersicht ihrer Preise:

Basisoptionen
  • Dicker Boden: €10.00
  • Dünner Boden: €8.00
Größenoptionen
  • Keine zusätzlichen Kosten: 16 cm, 18 cm
  • €2 zusätzliche Kosten: 20 cm, 22 cm, 24 cm
Käse

Käse ist inbegriffen, aber es gibt einen Rabatt von €0.50, wenn du keinen Käse wählst.

Typ:
  • Margherita: + €0.00
  • Gemüse: + €1.00
  • Vegan: + €1.00
  • Hawai: + €2.00
  • Fleisch: + €3.00
Gutscheincode

Wenn der Kunde eine 24-cm-Pizza kauft und den Gutscheincode “FunFriday” eingibt, erhält er €2.00 Rabatt auf seine Pizza.

Schritt 1: Welche Pizza?

Erstelle eine Reihe von Print-Anweisungen und Eingaben, die es dem Kunden ermöglichen, seine Pizzawünsche einzugeben. Teste deinen Code mit den folgenden Beispiel-Eingaben/Ausgaben:

Aktion Ausgabe/Eingabe
Der Benutzer wird nach seiner Basiswahl gefragt: Möchten Sie einen dünnen oder dicken Boden?
Der Benutzer gibt eine Antwort ein: dick
Der Benutzer wird nach der Pizzagröße gefragt: Wählen Sie eine Pizzagröße von 16, 18, 20, 22 oder 24 cm
Der Benutzer gibt eine Antwort ein: 16
Der Benutzer wird gefragt, ob er Käse möchte: Möchten Sie Käse? J/N
Der Benutzer gibt eine Antwort ein: J
Der Benutzer wird nach der Pizzasorte gefragt: Welche Pizzasorte möchten Sie? Margherita, Gemüse, Vegan, Hawaiian oder Fleisch
Der Benutzer gibt eine Antwort ein: margherita
Der Benutzer wird nach einem Gutscheincode gefragt: Wenn Sie einen Gutscheincode haben, geben Sie ihn jetzt ein Drücken Sie Enter, um zu überspringen
Der Benutzer gibt eine Antwort ein: FunFriday
Das Programm endet
Hinweis:

Verwende dieses Beispiel, um dein Programm zu testen. Bei den Eingaben, die du in dieser Beispielinteraktion siehst, sollte dies die Ausgabe deines Programms sein.

Beispiel-Codeblock:

print("Möchten sie einen dünnen oder dicken Boden?")
boden = input()
Häufige Fehler
  • Großes P für print verwendet
  • Klammern am Anfang oder Ende des Textes fehlen
  • Anführungszeichen am Anfang oder Ende des Textes fehlen
  • Klammern am Ende der Eingabe fehlen

Schritt 2: Berechne die Basiskosten

Stelle sicher, dass eine total_cost-Variable für die Gesamtkosten der Pizza erstellt wurde. Erstelle eine if-Anweisung, die €10 anwendet, wenn ihre Pizza dünn ist, und €8, wenn sie dick ist. Verwende eine print-Anweisung, um die total_cost am Ende des Codeblocks zu drucken, damit du testen kannst, ob der Code funktioniert.

Beispielcode
total_cost = 0
if basis == "dünn":
    total_cost = total_cost + 10
else:
    total_cost = 8
# zum Testen
print(total_cost)
Häufige Fehler
  • Großes I für if verwendet
  • Ein = Zeichen anstelle von == verwendet
  • Doppelpunkt : am Ende des if fehlt
  • Großes E für else verwendet
  • Einrückungen/Leerzeichen fehlen
  • Anführungszeichen um die Wahl in der Bedingung fehlen
  • Wahl in der Bedingung ist in Großbuchstaben geschrieben, aber .lower() wurde verwendet

Schritt 3: Füge die Pizzagrößenkosten hinzu

Es gibt nur zwei verschiedene Kosten für die Größenoptionen. Wenn die Pizza größer als 16cm ist, wird ein zusätzlicher Aufpreis von €2 angewendet. Erstelle eine if-Anweisung, die diesen Aufpreis basierend auf dieser Bedingung anwendet. Verwende eine print-Anweisung, um die Gesamtkosten zu drucken und deinen Code zu testen.

Beispielcode
if size > 18:
    total_cost = total_cost + 2

Schritt 4: Käse oder kein Käse

Wenn der Käse nicht gleich “J” ist, wird ein Rabatt von € 0.50 auf die Gesamtkosten angewendet. Erstelle eine if-Anweisung, die diese Berechnung basierend auf der Bedingung durchführt.

Beispielcode
if cheese != "j":
    total_cost = total_cost - 0.50

Schritt 5: Pizzasorten

  • Es gibt drei verschiedene Preisoptionen für die Pizza. Die Margherita-Pizza hat keinen zusätzlichen Aufpreis, also entscheide, ob dies Teil einer deiner Bedingungen sein muss. Wenn die Pizza Gemüse oder Vegan ist, gibt es einen zusätzlichen Aufpreis von €1. Wenn die Pizza Hawaiian oder Fleischliebhaber ist, gibt es einen zusätzlichen Aufpreis von €2. Entscheide, welche if-Anweisungen und Bedingungen du benötigst, um diese Kosten anzuwenden. Teste deinen Code, indem du eine print-Anweisung verwendest, um die Gesamtkosten zu drucken. Denke daran, alle möglichen Eingaben zu testen.

Schritt 6: Der Gutscheincode

  • Der Gutscheincode kann angewendet werden, wenn der Kunde eine 24-cm-Pizza kauft und den richtigen Code “FunFriday” eingibt. Erstelle eine if-Anweisung, die überprüft, ob beide Bedingungen wahr sind, und dann den €2-Rabatt anwendet.

Schritt 7: Gesamtkosten anzeigen

  • Wiederhole die Bestellung (wie bei McDrive) für den Kunden und zeige die Gesamtkosten der Pizza an.

Schritt 8: Teste deinen Code

  • Teste deinen Code, indem du alle verschiedenen möglichen Szenarien für die Bestellung einer Pizza eingibst.
  • Behebe alle Fehler, die auftreten könnten.
  • Denke daran, .lower() oder .upper() zu verwenden, wo erforderlich.

Hier ist eine Beispiel-Testtabelle, die verwendet werden kann, um die Ausgabe basierend auf bestimmten Eingaben zu überprüfen:

Aktion Antwort
Der Benutzer wird nach seiner Basiswahl gefragt: Möchten Sie eine dünne oder dicke Pizza?
Der Benutzer gibt eine Antwort ein: dünn
Der Benutzer wird nach der Pizzagröße gefragt: Wählen Sie eine Pizzagröße von 16, 18, 20, 22 oder 24 cm
Der Benutzer gibt eine Antwort ein: 16
Der Benutzer wird gefragt, ob er Käse möchte: Möchten Sie Käse? J/N
Der Benutzer gibt eine Antwort ein: J
Der Benutzer wird nach der Pizzasorte gefragt: Welche Pizzasorte möchten Sie? Margherita, Gemüse, Vegan, Hawai oder Fleisch
Der Benutzer gibt eine Antwort ein: margherita
Der Benutzer wird nach einem Gutscheincode gefragt: Wenn Sie einen Gutscheincode haben, geben Sie ihn jetzt ein Drücken Sie Enter, um zu überspringen
Der Benutzer gibt eine Antwort ein: FunFriday
Die Bestellung wird dem Benutzer mit den Gesamtkosten angezeigt: Ihre dünne 16 cm Margherita Pizza kostet €12.0