Der input-Befehl des turtle-Moduls

Da im folgenden ein Spiel programmiert werden soll muss unser Programm interaktiv werden. Bis ist für jedes Programm immer genau das Selbe passiert, wenn man auf "Play" drückt. Bei einem Spiel soll man aber während das Programm läuft Einfluss auf das Geschehen nehmen können. Bei dem Ratespiel sollen zum Beispiel Zahlen eingegeben werden können. Das Spiel soll diese dann prüfen und entsprechend reagieren.

Das turtle-modul hat die Möglichkeit ein "Dialogfenster" zu öffnen.

turtle.textinput(title="", prompt="")

Konkreter sieht eine Abfrage so aus:

text = turtle.textinput(title="was dann im titel des Fensters steht", prompt="Welche Frage vor dem Eingabefeld steht")

Das was in diesem Dialogfenster eingegeben wird, wird unter dem Namen vor dem = abgespeichert. Später kann man diesen Wert dann verwenden. Zum Beispiel kann dann mit t.write(text) der eingegebene Text von turtle geschrieben werden.

Die Texte für title und prompt sind als Orientierung für den Benutzer, was er jetzt eingeben soll. Ersetzen Sie die Beispiele durch eigene Texte.

Zu beachten ist, dass tatsächlich turtle. vor textinput stehen muss (nicht t. wie bei den anderen Befehlen).

Möchte man den eingegebenen Text in eine Zahl verwandeln muss man folgendes schreiben:

zahl = int(text)

Einschub

Der Computer kennt verschiedene Datentypen, Texte sind für den Computer folgen aus Buchstaben. Eine Zahl in einem Text "25" ist also der "Buchstabe" "2" und dann der "Buchstabe" "5". Die Zahl 25 hat dagegen keine Anführungszeichen. Zwei Beispiele in Python:

5 * 5 # Ergebnis: 25
"5" * 5 # Ergebnis: 55555

Wird ein Buchstabe mit einer Zahl multipliziert wird er einfach so oft wiederholt statt den Zahlenwert auszurechnen.

Übung

Gespeichert in der neuen Datei kleingross.py

  1. Schreiben Sie ein Turtle-Programm, welches zuerst nach einer Zahl fragt, und dann ein Quadrat in entsprechender Größe, also Seitenlänge zeichnet.
  2. Erweitern Sie das Programm, so dass es nach dem Zeichnen des Quadrats noch eine Größe für ein gleichseitiges Dreieck fragt, und dieses dann zeichnet.