Informatik

Eingaben mit input

Bisher liefen deine Programme immer gleich ab. Interessant wird es, wenn die Benutzerin oder der Benutzer mitbestimmen kann.

Im Flussdiagramm wird eine Eingabe als Parallelogramm dargestellt:

flowchart TD
    S([Start]) --> I[/Eingabe: seite/]
    I --> P[/Wiederhole 4 mal/]
    P --> B1[forward seite]
    B1 --> B2[right 90]
    B2 --> P
    P -- fertig --> E([Ende])

Formuliere Vermutungen, wie das folgende Programm abläuft. Führe es danach aus und gib verschiedene Werte ein.


      
    
from turtle import * shape("turtle") screensize(400, 400) seite = int(input("Bitte Seitenlänge eingeben: ")) for i in range(4): forward(seite) right(90)

Ein Quadrat, dessen Seitenlänge eingegeben wurde

Warum int(...)?

input() liefert immer einen Text, auch wenn du eine Zahl eingibst. Mit Texten kann die Turtle aber nicht rechnen.

Deshalb musst du umwandeln:

Schreibweise Ergebnis
input("Frage: ") Text, z. B. "100"
int(input("Frage: ")) ganze Zahl, z. B. 100
float(input("Frage: ")) Kommazahl, z. B. 100.5

int steht für integer (ganze Zahl), float für Kommazahl.

Entferne im Programm oben das int( und das zugehörige ), sodass nur noch seite = input("Bitte Seitenlänge eingeben: ") dasteht.

Führe es aus, gib 100 ein und lies die Fehlermeldung. Erkläre, was Python hier bemängelt.

Auflösung: Die Fehlermeldung verstehen

Python meldet etwas wie:

TypeError: can't multiply sequence by non-int of type 'float'

Sinngemäß: „Ich kann mit einem Text nicht rechnen."

Für Python ist "100" nicht die Zahl Hundert, sondern die Zeichenfolge aus einer Eins und zwei Nullen. Erst int("100") macht daraus die Zahl 100.

Aufgabe 1: Die Punktekette wird einstellbar

Die Punktekette aus der letzten Lektion kennst du bereits.

Zehn gleich große Punkte nebeneinander

Modifiziere deine Lösung schrittweise:

a) Nach dem Start kann man eingeben, wie groß die Punkte sein sollen.

b) Danach kann man eingeben, wie weit die Punkte voneinander entfernt sein sollen.

c) Schließlich kann man auch eingeben, wie viele Punkte gezeichnet werden sollen.


      
    
from turtle import * shape("turtle") screensize(600, 300) # Dein Code hier
Tipp 1: Eine Eingabe nach der anderen

Baue die Aufgabe wirklich in drei Schritten. Nach jedem Schritt sollte das Programm laufen, bevor du den nächsten angehst.

Beginne mit:

groesse = int(input("Wie groß sollen die Punkte sein? "))

und verwende groesse dann bei dot(...).

Tipp 2: Die Anzahl in der Schleife

Eine eingelesene Zahl darf auch in range stehen:

anzahl = int(input("Wie viele Punkte? "))
 
for i in range(anzahl):
    ...
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 2: Die Treppe wird einstellbar

Eine Treppe aus sechs Stufen

Modifiziere auch dein Treppen-Programm mit geeigneten Eingabeaufforderungen.

Überlege dabei selbst: Welche Werte sind hier sinnvoll einstellbar?


      
    
from turtle import * shape("turtle") screensize(500, 400) # Dein Code hier
Tipp: Was kommt infrage?

Bei der Treppe bieten sich drei Größen an: die Anzahl der Stufen, die Stufenhöhe und die Stufenbreite.

Wenn Höhe und Breite gleich sein sollen, reicht eine einzige Eingabe für beides.

Aufgabe 3: Ein Beispiel ohne Turtle

Entwickle ein Programm, das Folgendes leistet:

Nach dem Start wird man aufgefordert, eine Zahl einzugeben. Nach der Eingabe wird das Quadrat der Zahl angezeigt.

Gibt man also zum Beispiel 5 ein, erhält man als Ausgabe 25.


      
    
# Dein Code hier
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 4: Vieleck nach Wunsch

In der letzten Lektion hast du regelmäßige Vielecke gezeichnet.

Entwickle ein Programm, das Folgendes leistet: Nach dem Start gibt man ein, was für ein Vieleck man haben möchte. Gibt man zum Beispiel eine 5 ein, wird ein regelmäßiges Fünfeck gezeichnet.


      
    
from turtle import * shape("turtle") screensize(400, 400) # Dein Code hier
Tipp: Den Winkel berechnen lassen

Du kennst die Formel bereits:

Drehwinkel = 360 ° Anzahl der Ecken \text{Drehwinkel} = \frac{360°}{\text{Anzahl der Ecken}}

Diese Rechnung darf Python für dich erledigen – schreibe sie einfach hin:

winkel = 360 / ecken
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Zusatzaufgabe: Auch Farben einlesen

Mit input kann man nicht nur Zahlen einlesen:


      
    
from turtle import * shape("turtle") screensize(400, 400) farbe = input("Bitte Farbe eingeben: ") pencolor(farbe) for i in range(4): forward(100) right(90)

Fällt dir auf, dass hier kein int(...) steht?

Eine Farbe ist ein Text – und input liefert ohnehin einen Text. Es gibt also nichts umzuwandeln.

Probiere Farben wie red, blue, orange oder magenta aus.

Erweitere deine Lösungen zur Punktekette und zur Treppe so, dass man auch die Farbe wählen kann. Wie genau du das gestaltest, ist dir überlassen.


Selbsttest

Eingaben mit input

Teilbare URL erstellen

Abschnitte auswählen