Ein- und Ausgabe

Falls ihr es noch nicht getan habt, arbeitet die folgenden Abschnitte durch:

Im Python-Turtle-Modul stehen weitere Ein- und Ausgabefunktionen zur Verfügung. Diese sollen im folgenden Vorgestellt werden.

Beispielprogramm:

beispiel1.py
from turtle import *
 
name = textinput("Namenseingabe","Gib deinen Namen ein!")
write(name)
 
a = numinput("Zahl 1","Gib eine Zahl ein!")
b = numinput("Zahl 2","Gib noch eine Zahl ein!")
 
# Die Turtle wird bewegt, dass der Text nicht überschrieben wird.
penup()
right(90)
fd(12)
left(90)
pendown()
 
# Die Zeichenkete für die Ausgabe wird zusammengesetzt. Mit der Funktion str() werden Zahlen in Zeichenketten umgewandelt.
ausgabe = "Das Ergebnis von "+str(a)+" + "+str(b)+" ist "+str(a+b)+"."
 
write(ausgabe)

Aufgabe 9

Teste das Beispiel!

Aufgabe 10

Schreibe ein Programm, dass nach Eingabe zweier Zahlen deren Summe, Differenz, Produkt und Quotient auf der Turtlezeichenfläche ausgibt.

Aufgabe 11

Um zu Testen, ob ein Computer genau so intelligent wie ein Mensch ist, schlug der Informatiker Alan Turing vor, dass sich ein Mensch mit einem Computer z.B. in einem Chat unterhält. Wenn der Mensch nicht merkt, dass sich am anderen Ende ein Computer befindet, so hat die Maschine den Test bestanden. Heute wird dies z.B. mit Hilfe von Chatbots in sozialen Netzwerken versucht. Das folgende Programm stellt einen solchen einfachen Chatbot dar.

from turtle import *
from datetime import datetime, timedelta
now = datetime.now()
birthdaydata = datetime(1987, 9, 28)
diff = now - birthdaydata
delta = diff.days
years = delta // 365
delta = delta - 365*years
month = delta // 30
delta = delta - 30*month
days = delta
#Das hier oben ist ein wenig komplizierter und dient auch nur zur Bestimmung des Alters...
 
#Ab hier wird es interessant:
screensize(800,600)
setworldcoordinates(0, -600, 800, 0)
 
penup()
right(90)
fd(12)
left(90)
pendown()
 
write("Hallo ich bin Lieutenant Commander Data vom Raumschiff Enterpise, eine KI.")
name = textinput("Name", "Wie heißt du?")
 
penup()
right(90)
fd(12)
left(90)
pendown()
 
write("Hallo "+name+"! Schön dich kennenzulernen!")
 
penup()
right(90)
fd(24)
left(90)
pendown()
 
write("Ich wurde am 28.09.1987 geboren und bin "+str(years)+" Jahre, "+str(month)+" Monate, "+str(days)+" Tage alt!\n")
 
alter=numinput("Alter","Wie alt bist du?")
 
penup()
right(90)
fd(12)
left(90)
pendown()
 
 
write("Wow ich hätte nicht gedacht, dass du schon "+str(int(alter))+" Jahre alt bist.")

Ergänze das Programm um mindestens drei Fragen mit erwarteter Eingabe, sowie den entsprechenden Antworten, bei denen der Bot auf die Eingaben reagiert.