Ein- und Ausgabe

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

Grundlegende Datentypen, Variablen - die Pythonshell

Lineare Programme - Aus- und Eingabe

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

textinput(title, text)
title, text : zwei Zeichenketten
Öffnet grafischen Eingabedialog für eine Zeichenkette. title ist der Titel des Fensters, text beschreibt, was einzugeben ist.

numinput( title, text)
title, text: zwei Zeichenketten wie bei textinput()
Öffnet grafischen Eingabedialog für eine Zahleneingabe (Kommazahl).

write(arg,move=False,align=’left’,font=(’Arial’,8,’normal’))
arg : String, der geschrieben werden soll
move: True oder False
align: ’left’ , ’center’ oder ’right’ zur Ausrichtung des Textes
font: ein Dreiertupel zur Beschreibung der Schriftart
Schreibt Text an die aktuelle Turtle-Position, entsprechend dem Wert von align in der für font angegebenen Schriftart.Wenn move True ist, wird die Turtle zum rechten unteren Ende des Textes bewegt.

Beispielprogramm:

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.