5 Verzweigungen
Inhalte stammen von (Foundation), lizensiert unter
5.1 Arithmetische Operationen
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?")
= float(input())
bill_total print("Wie viele Personen teilen sich die Rechnung?")
= int(input())
people print("Welchen Prozentsatz Trinkgeld möchtest du geben?")
= int(input())
tip_percentage
= tip_percentage / 100
percentage_decimal = bill_total * percentage_decimal
tip_total = bill_total + tip_total
bill_total
= bill_total / people
cost_per_person
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:
= 10 // 3
counters_each = 10 % 3 counters_remaining
🔥 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?
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?")
= input().lower()
name 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?")
= input().upper()
weather 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?")
= input()
likes_blue 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. |
- 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. |
- 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:
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...")
- 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")
= input().upper()
punchline if punchline == "DIE POINTE":
print("Gut gemacht, du lagst richtig!")
- Großes I für
If
verwendet - Ein
=
-Zeichen anstelle von==
verwendet - Doppelpunkt
:
am Ende derif
-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
-Anweisungscore = score + 1
Testet euren Code, indem ihr
print(score)
in eine neue Zeile einfügtLöscht die Zeile
print(score)
, sobald das Testen abgeschlossen ist. :::{.callout-note} ## Häufige FehlerPunktestand 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 derif
-Anweisung, stehen) :::
A04: Feedback, wenn der Benutzer falsch liegt
- Fügt ein
else:
unterhalb derif
-Anweisung hinzu - Fügt eine
print
-Anweisung hinzu, die Feedback zum Witz gibt - Testet euren Code
Beispielcode:
else:
print("Falsch, es war diese Pointe")
- Großes E für
Else
verwendet - Doppelpunkt
:
nach demelse
fehlt print
-Anweisung nicht eingerücktelse
ist nicht auf gleicher Höhe wieif
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.
- 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 jedeif
-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 + 1 score
Häufige Fehler (verwendet diese Checkliste, um euren Code zu debuggen):
- Großes E für
Elif
anstelle von Kleinbuchstaben verwendet - Doppelpunkt
:
am Ende deselif
fehlt print
undscore
sind imelif
nicht eingerücktelif
an der falschen Stelle geschrieben (es sollte nach demif
und vor demelse
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:")
= input()
password else:
print("Zugang gewährt")
print("Zugang verweigert")
= "HTLKuchl2025!" stored_password
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?
"""
= 0.00
total_cost = 0.50
sugar_tax print("Sandwich oder Wrap?")
= input()
bread_type print("Fleisch, Vegetarisch oder Vegan?")
= input()
filling_type print("Keks, Chips, Obst oder Keins")
= input()
dessert print("Sprudelgetränk, Wasser, Saft oder Keins")
= input()
drink if bread_type != "sandwich":
= 2.00
total_cost else:
= 3.00
total_cost if filling_type == "vegetarisch" or filling_type == "vegan":
= total_cost + 1.00
total_cost else:
= total_cost + 1.50
total_cost if pudding == "keks" and drink == "sprudelgetränk":
= total_cost + sugar_tax
total_cost if dessert == "keins" or drink == "keins":
= total_cost - 0.50
total_cost 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 | – |
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?")
= input() boden
- 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.
= 0
total_cost if basis == "dünn":
= total_cost + 10
total_cost else:
= 8
total_cost # zum Testen
print(total_cost)
- 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.
if size > 18:
= total_cost + 2 total_cost
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.
if cheese != "j":
= total_cost - 0.50 total_cost
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 eineprint
-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 |