Zum Hauptinhalt springen

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:

  1. Eingabe – mehrere input-Zeilen
  2. Verarbeitung – speichern, ggf. int, kleine Rechnungen
  3. 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:

  1. Name fragen
  2. Alter fragen
  3. Lieblingsfach fragen
  4. 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

Dialogdialogue

Wechselspiel aus Fragen des Programms und Antworten der Person.

Zusammenfassungsummary

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:

  1. Welche Fragen brauche ich?
  2. Welche Typen? (Text bleiben / Zahl werden)
  3. Welche Ausgaben sollen erscheinen?
  4. In welcher Reihenfolge?

Dann erst tippen – nicht umgekehrt. Sonst verhedderst du dich in der Mitte.

FrageVariableTypWarum?
Namenamestranzeigen
Alteralterintrechnen (+ 1)
Fachfachstranzeigen

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:

  1. Titel anzeigen
  2. bei jedem input warten
  3. Antworten speichern
  4. bei Bedarf umwandeln und rechnen
  5. 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

IrrtumRichtig
Alles muss int seinNur wo gerechnet wird
Ein print für allesMehrere Zeilen sind oft lesbarer
Ohne Plan tippenPlan spart Fehler und Frust
Leere Zeile unnötigprint() schafft Luft in der Ausgabe
Dialog = KIHier: 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.
  • int nur dort, wo du rechnest.

Mini-Quiz

Mini-QuizWas brauchst du fuer einen guten Dialog zuerst?
  1. Warum int beim Alter?
  2. Kann ein Dialog ohne Rechnung auskommen?
  3. Was ist der Vorteil mehrerer input-Zeilen?
Loesungen
  1. Zum Rechnen mit dem Alter.
  2. Ja – reine Text-Dialoge sind auch super.
  3. Mehr Informationen und persönlichere Ausgaben.

Dialog-Profi! Mini-Projekt: der Begruessungsroboter.