Ein interaktiver Dialog
Warum brauchen wir das?
Echte Programme stellen oft mehrere Fragen hintereinander:
- Wie heißt du?
- Wie alt bist du?
- Was ist dein Lieblingsfach?
Dann verarbeiten sie die Antworten und geben einen persönlichen Text zurück. Das ist EVA in Aktion:
- Eingabe – mehrere
input-Zeilen - Verarbeitung – speichern, ggf.
int, kleine Rechnungen - Ausgabe – mehrere freundliche
print-Zeilen
Einzelne Tricks (input, Sätze, int) werden jetzt zu einem runden Miniprogramm.
Definition: Dialogprogramm
Definition – Dialog (im Programmier-Sinn):
Ein Dialogprogramm stellt Fragen, speichert Antworten und reagiert mit passenden Ausgaben – wie ein einfaches Gespräch, gesteuert durch Code.
Es fühlt sich lebendig an, folgt aber einer klaren Reihenfolge. Computer „improvisieren“ nicht – sie führen deinen Plan aus.
Code-Club Empfang
Py arbeitet an der Rezeption:
- Name fragen
- Alter fragen
- Lieblingsfach fragen
- freundliche Zusammenfassung ausgeben
Luna testet mit verrückten Antworten. Lily verbessert die Texte.
Buggy vergisst int beim Alter und wundert sich über den TypeError.
Neue Wörter
Wechselspiel aus Fragen des Programms und Antworten der Person.
Ausgabe, die mehrere Antworten gebuendelt zurueckmeldet.
Erstes Beispiel – komplett
print("=== Code-Club Empfang ===")
name = input("Wie heißt du? ")
alter = int(input("Wie alt bist du? "))
fach = input("Lieblingsfach? ")
print()
print("Schoen, dich kennenzulernen,", name)
print("Du bist", alter, "Jahre alt.")
print("Dein Lieblingsfach ist", fach)
print("Naechstes Jahr bist du", alter + 1)
print("Willkommen im Club!")
Das ist schon ein kleines, rundes Programm: Titel, Fragen, Verarbeitung, Abschluss.
Plan vor dem Tippen
Bevor du Code schreibst, kläre:
- Welche Fragen brauche ich?
- Welche Typen? (Text bleiben / Zahl werden)
- Welche Ausgaben sollen erscheinen?
- In welcher Reihenfolge?
Dann erst tippen – nicht umgekehrt. Sonst verhedderst du dich in der Mitte.
| Frage | Variable | Typ | Warum? |
|---|---|---|---|
| Name | name | str | anzeigen |
| Alter | alter | int | rechnen (+ 1) |
| Fach | fach | str | anzeigen |
Rate mal!
Warum steht int nur beim Alter?
Aufloesung
Weil mit dem Alter gerechnet wird (alter + 1).
Name und Fach bleiben Text – dort reicht input allein.
Was passiert im Computer?
Das Programm läuft Zeile für Zeile:
- Titel anzeigen
- bei jedem
inputwarten - Antworten speichern
- bei Bedarf umwandeln und rechnen
- am Ende den Dialogabschluss zeigen
Es fühlt sich an wie ein Gespräch, ist aber klare EVA-Logik ohne Magie.
Häufige Irrtümer
| Irrtum | Richtig |
|---|---|
| Alles muss int sein | Nur wo gerechnet wird |
| Ein print für alles | Mehrere Zeilen sind oft lesbarer |
| Ohne Plan tippen | Plan spart Fehler und Frust |
| Leere Zeile unnötig | print() schafft Luft in der Ausgabe |
| Dialog = KI | Hier: feste Fragen, feste Struktur |
Probiere es selbst
Experiment 1 – Hobby
Füge die Frage nach dem Hobby hinzu und baue sie in die Zusammenfassung ein.
Experiment 2 – Ausweis-Block
Gib am Ende einen „Ausweis“-Block aus:
=== Club-Ausweis ===
Name: ...
Alter: ...
Experiment 3 – Mini-Mathe im Dialog
Frage zwei Zahlen und zeige Summe und Produkt in der Zusammenfassung.
Experiment 4 – Texte polieren
Ändere Begrüßung und Abschluss, bis es sich nach deinem Club anhört.
Fehlerdetektiv
name = input("Name: ")
alter = input("Alter: ")
print("In 2 Jahren:", alter + 2)
Loesung anzeigen
alter muss umgewandelt werden:
alter = int(input("Alter: "))
print("In 2 Jahren:", alter + 2)
Übungen
Level 1 – Entdecken
Zwei Fragen: Name und Tier. Persönliche Ausgabe in einem Satz.
Beispiel
name = input("Name: ")
tier = input("Lieblingstier: ")
print(name, "mag", tier)
Level 2 – Anwenden
Dialog mit Name, Alter (int) und Stadt. Mindestens vier Ausgabezeilen.
Beispiel
name = input("Name: ")
alter = int(input("Alter: "))
stadt = input("Stadt: ")
print("Hallo", name)
print("Alter:", alter)
print("Stadt:", stadt)
print("Cool!")
Level 3 – Knobeln
Baue „Talent-Show Anmeldung“: Name, Talent, Jahre Übung (int).
Am Ende eine motivierende Zusammenfassung.
Beispiel
print("=== Talent-Show ===")
name = input("Name: ")
talent = input("Dein Talent: ")
jahre = int(input("Jahre Uebung: "))
print()
print(name, "tritt an mit:", talent)
print("Uebung:", jahre, "Jahre")
print("Naechstes Jahr:", jahre + 1, "Jahre Erfahrung")
print("Viel Erfolg!")
Mini-Challenge
Schreibe einen Dialog „Schulweg-Reporter“ mit mindestens 3 Fragen und einer
Report-Ausgabe (Titel + mehrere Zeilen).
Bonus: eine Zahleneingabe mit kleiner Rechnung.
Zusammenfassung
- Dialoge = mehrere Fragen + passende Ausgaben.
- Mischung aus str- und int-Eingaben ist normal.
- Vor dem Tippen planen (Fragen, Typen, Ausgaben).
- EVA hilft beim Aufbau.
- Kleine Programme können sich schon „lebendig“ anfühlen.
intnur dort, wo du rechnest.
Mini-Quiz
- Warum
intbeim Alter? - Kann ein Dialog ohne Rechnung auskommen?
- Was ist der Vorteil mehrerer
input-Zeilen?
Loesungen
- Zum Rechnen mit dem Alter.
- Ja – reine Text-Dialoge sind auch super.
- Mehr Informationen und persönlichere Ausgaben.
Dialog-Profi! Mini-Projekt: der Begruessungsroboter.