Python 1.8 – Coding-Challenge: Verteidigung des Königreichs
Du bist in der ersten Coding-Challenge angekommen. Glückwunsch!
In dieser Challenge werden wir deine neuen Programmierkenntnisse anwenden. Du wirst dafür ein einfaches Text-Adventure programmieren.
Zusammenfassung Modul 1
Ohne erneut auf Details einzugeben, haben wir im Wesentlichen folgendes im Rahmen des Moduls gelernt:
- Was ist Python?
- Was ist ein Pythonprogramm und wie sieht es aus?
- Wie funktionieren Befehle und Befehlsabfolgen?
- Was sind Funktionen und wie beeinflusst man sie mit Parametern?
- Wie liest man Texteingaben von der Tastatur ein?
Diese Dinge wollen wir nun anwenden, um unser Text-Adventure so effizient wie möglich zu programmieren.
Challenge: Verteidigung des Königreichs - Textadventure
Die Geschichte unseres Textadventures soll sein, dass der König mit seinem Assistenten losreitet, um sein Land von Bösewichten zu befreien.
Schreibe den Code aller Aufgaben hier rein:
Wir überlassen es dem König selbst, wie viele Dinge er mitnehmen möchte, um sein Abenteuer zu bestehen. Er benötigt auf jeden Fall:
- den Namen eines Pferds
- Schwerter (Anzahl) und
- Ritter (Anzahl)
Deine erste Aufgabe:
- Definiere eine Funktion mit dem Namen hole_eingaben
- Der Rumpf der Funktion enthält 3 Tastatureingaben mit dem input-Befehl für: pferd, schwerter, ritter
- Gib die Werte über return zurück
Code-Aufgabe - Lösung:
Wenn du nicht weiterkommst, findest du hier die Komplettlösung zu der Aufgabe. Du kannst den folgenden Code in den Online-Editor kopieren & einfügen, um ihn zu testen.
[lp_spoiler title="Spoiler - Lösung anzeigen"]
def hole_eingaben():
pferd = input("Wie heißt das Pferd?")
schwerter = input("Wie viele Schwerter?")
ritter = input("Wieviele Ritter?")
return pferd, schwerter, ritter
[/lp_spoiler]
Deine zweite Aufgabe:
- Jetzt wollen wir die Geschichte des Königs und dessen Entourage erzählen. Dafür brauchen wir eine weitere Funktion.
- Definiere eine Funktion namens erzaehle_geschichte mit drei Parametern (pferd, schwerter, ritter)
- Gib die Parameter in der Funktion mit dem Print-Befehl aus. Du kannst dafür einen Fantasietext schreiben (z.B. "Der König ritt auf seinem Lieblingspferd " + pferd ...).
Code-Aufgabe - Lösung:
[lp_spoiler title="Spoiler - Lösung anzeigen"]
def erzaehle_geschichte (pferd, schwerter, ritter):
print("Der König und sein treuer Assistent traten
also ihre Reise an.")
print("Der König ritt auf seinem treuen Pferd "
+ pferd + " bewaffnet mit "
+ schwerter + "Schwertern")
[/lp_spoiler]
Deine letzte Aufgabe:
- Definiere die main-Funktion deines Programms
- Rufe die Funktion hole_eingaben() auf und speichere sie in den Variablen pferd, schwerter und ritter
- Rufe danach die Funktion erzaehle_geschichte mit den drei Parametern (pferd, schwerter und ritter) auf.
[lp_spoiler title="Spoiler - Lösung anzeigen"]
Nun benötigen wir noch die main-Funktion, die den Einstiegspunkt des Programms darstellt
def main():
pferd, schwerter, ritter = hole_eingaben()
erzaehle_geschichte(pferd, schwerter, ritter)
if __name__== "__main__":
main()
[/lp_spoiler]
Hier findest du die Komplettlösung der Coding-Challenge:
[lp_spoiler title="Spoiler - KOMPLETTLÖSUNG"]
def hole_eingaben():
pferd = input("Name des Pferdes? ")
schwerter = input("Wie viele Schwerter? ")
ritter = input("Wieviele Ritter? ")
return pferd, schwerter, ritter
def erzaehle_geschichte (pferd, schwerter, ritter):
print("Der König und sein treuer Assistent traten also " +
"ihre Reise an.")
print("Der König ritt auf seinem treuen Pferd "
+ pferd + " bewaffnet mit "
+ schwerter + " Schwertern und einem Gefolge " +
"von " + ritter + " Rittern.")
def main():
pferd, schwerter, ritter = hole_eingaben()
erzaehle_geschichte(pferd, schwerter, ritter)
if __name__== "__main__":
main()
[/lp_spoiler]
Erweiterung (freiwillig)
Die Ritter beschweren sich, dass der König keine Knappen mitgenommen hat. Nehmen wir an auf jeden Ritter würden zwei Knappen kommen. Erweitere die Funktionen so, dass in der Erzählung für jeden Ritter zwei Knappen mitgenommen werden. Dabei soll die Zahl der Knappen in einer Variable gespeichert werden.
Zusammenfassung
Im vorliegenden Modul haben wir die Grundlagen von Python gelernt. Wir haben gelernt, was Python ist und wie ein Python-Programm aussieht. Zudem haben wir die Grundlagen von Funktionen gelernt und wie man ihre Funktionsweise mit Parametern beeinflusst. Mit der Möglichkeit, Text von der Tastatur einzulesen, haben wir die Möglichkeit geschaffen, das Ergebnis eines Programms dynamisch zur Laufzeit zu verändern.
Ich hoffe, du hattest Spaß und wir sehen uns im nächsten Modul wieder.