Wir können mit der input-Funktion Text von einem Benutzer abfragen.
# Frage den Benutzer nach einer Eingabe und speichere sie in einer Variablen
# Dies funktioniert nur, wenn die Eingabe als String verwendet wird
circle_color = input("Welche Farbe soll der Kreis haben? ")
# Wenn die Eingabe als Zahl verwendet werden muss, konvertiere sie zu einem 'int'
radius = int(input("Wie groß soll der Radius des Kreises sein? "))
# Diese Eingabe kann dann verwendet werden, um verschiedene Teile des Codes zu steuern
color(circle_color)
circle(radius)
Wir können dem Benutzer ermöglichen, mit unseren Programmen durch die onclick-Methode zu interagieren, die einen Aufruf an eine Callback-Funktion macht.
# Definiere die Callback-Funktion
# (muss Parameter für die x- und y-Koordinate des Mausklicks haben)
def make_square(x, y):
for i in range(4):
forward(50)
left(90)
# Wenn der Benutzer auf den Cursor klickt, wird die Callback-Funktion ausgeführt
onclick(make_square)
Hinweis: Eine Klammer wird beim Aufruf der Callback-Funktion in der onclick-Methode nicht verwendet.
Wir können auch dem Benutzer erlauben, überall auf die Leinwand zu klicken, indem wir die getscreen-Funktion verwenden.
# Speichere den Bildschirm in die Variable canvas
canvas = getscreen()
# Rufe die move_to_click-Funktion auf, wenn die Leinwand angeklickt wird
canvas.onclick(move_to_cursor)
Um eine Variable innerhalb einer Callback-Funktion zu verwenden, definiere sie, nachdem die onclick-Methode verwendet wurde, und verwende sie im Namen der Variablen, auf die der Bildschirm gespeichert ist.
# Erhöhe und gib den Wert von count jedes Mal aus, wenn der Benutzer auf den Bildschirm klickt
def increase(x, y):
canvas.count += 1
print(canvas.count)
canvas = getscreen()
canvas.onclick(increase)
canvas.count = 0