Texte und Schildkröten (Texte und Schildkröten), Lektion, Seite 724285
https://www.purl.org/stefan_ram/pub/texte_schildkroeten_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Textausgabe mit Schildkröten in Python 

Das folgende Skript schreibt den Text „Python“ bei Auswertung von »write( "Python" )« an der Stelle der Schildkröte auf die Zeichenfläche.

main.py

from turtle import *

write( "Python" )

hideturtle()

Das folgende Skript schreibt verschiedene Texte auf die Zeichenfläche und illustriert dabei den move- und den align-Parameter der Funktion ›write‹.

main.py

from turtle import *

turtlesize( 0.2, 0.2, 0.2 )

left( 90 )

penup()

backward( 50 )

pencolor( 0.8, 0.2, 0.2 ); stamp(); write( "True center", move=True, align="center" ); forward( 50 )

pencolor( 0.2, 0.8, 0.2 ); stamp(); write( "True left", move=True, align="left" ); forward( 50 )

pencolor( 0.2, 0.2, 0.8 ); stamp(); write( "True right", move=True, align="right" ); forward( 50 )

pencolor( 0.8, 0.2, 0.2 ); stamp(); write( "False center", move=False, align="center" ); forward( 50 )

pencolor( 0.2, 0.8, 0.2 ); stamp(); write( "False left", move=False, align="left" ); forward( 50 )

pencolor( 0.2, 0.2, 0.8 ); stamp(); write( "False right", move=False, align="right" ); forward( 50 )

hideturtle()

Ausgabe

False right
o

False left
o

False center
o

True right
o

True left
o

True center
o

Mit ›write‹ kann die str-Darstellung des ersten Argumentes an der aktuellen Schildkrötenposition geschrieben werden.

Wenn ›move‹ gleich ›True‹ ist, wird die Schildkröte nach dem Schreiben des Textes in die untere rechte  Ecke des Textes verschoben. Der Fehlwert von ›move‹ ist ›False‹. In diesem Falle, verändert die Ausgabe des Textes die Position der Schildkröte nicht.

Die Ausrichtung (»left«, »center« oder »right«) gibt an, welcher Teil des Textes sich an der Anfangsposition der Schildkröte befinden soll. Bei »left« befindet sich beispielweise der linke Rand  des Textes an der Anfangsposition der Schildkröte.

Ausrichten

Hier werden zwei Varianten der Formatierung  ein und desselben Programmes gezeigt.

Formatierungsversion A

In dem folgenden Quelltext hatte der Programmierer eine von ihm beabsichtigte Anweisung vergessen (wirklich passiert!). Können Sie sehen, welche?

main.py

from turtle import *

turtlesize( 0.1, 0.1, 0.1 )

left( 45 )

penup()

backward( 50 )

pendown()

pencolor( 0.8, 0.2, 0.2 )

stamp()

write( "center", move=True, align="center" )

forward( 50 )

pencolor( 0.2, 0.8, 0.2 )

stamp()

write( "left", move=True, align="left" )

forward( 50 )

pencolor( 0.2, 0.2, 0.8 )

stamp()

write( "right", move=True, align="right" )

forward( 50 )

stamp()

write( "center", move=False, align="center" )

forward( 50 )

pencolor( 0.2, 0.8, 0.2 )

stamp()

write( "left", move=False, align="left" )

forward( 50 )

pencolor( 0.2, 0.2, 0.8 )

stamp()

write( "right", move=False, align="right" )

forward( 50 )

hideturtle()

Formatierungsversion B

In dem folgenden Quelltext hatte der Programmierer eine von ihm beabsichtigte Anweisung vergessen (wirklich passiert!). Können Sie sehen, welche?

main.py

from turtle import *

turtlesize( 0.1, 0.1, 0.1 )

left( 45 )

penup()

backward( 50 )

pendown()

pencolor( 0.8, 0.2, 0.2 ); stamp(); write( "center", move=True, align="center" ); forward( 50 )

pencolor( 0.2, 0.8, 0.2 ); stamp(); write( "left", move=True, align="left" ); forward( 50 )

pencolor( 0.2, 0.2, 0.8 ); stamp(); write( "right", move=True, align="right" ); forward( 50 )

stamp(); write( "center", move=False, align="center" ); forward( 50 )

pencolor( 0.2, 0.8, 0.2 ); stamp(); write( "left", move=False, align="left" ); forward( 50 )

pencolor( 0.2, 0.2, 0.8 ); stamp(); write( "right", move=False, align="right" ); forward( 50 )

hideturtle()

Übungsaufgaben ⃗

/   Raute ⃗

Zeichnen Sie eine Raute „◇“ (oder ein Parallelogramm „◊“) und beschriften Sie die vier Eckpunkte mit „oben“, „rechts“, „unten“ und „links“.

Eine Raute
       oben
/\
/ \
links / \ rechts
\ /
\ /
\/
unten

Zusatzanforderung: Positionieren Sie die Texte möglichst nahe an den Eckpunkten, aber so, daß sich kein  Teil eines Textes mit einer Linie überschneidet.

Anwendungsbeispiele

Ein Programm zur Demonstration vier englischsprachiger Farbnamen

main.py

from turtle import *

colormode( 255 )

bgcolor( 127, 127, 127 )

penup()

home()

backward( 200 )

begin_fill()

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

fillcolor( 0xbe, 0x01, 0x19 )

end_fill()

right( 90 ); forward( 20 ); write( "scarlet" )

home()

backward( 100 )

begin_fill()

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

fillcolor( 0xff, 0x81, 0xc0 )

end_fill()

right( 90 ); forward( 20 ); write( "pink" )

home()

backward( 0 )

begin_fill()

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

fillcolor( 0x7e, 0x1e, 0x9c )

end_fill()

right( 90 ); forward( 20 ); write( "purple" )

home()

backward( -100 )

begin_fill()

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

forward( 50 ); left( 90 )

fillcolor( 0x9a, 0x0e, 0xea)

end_fill()

right( 90 ); forward( 20 ); write( "violet" )

hideturtle()

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724285 stefan_ram:724285 Texte und Schildkröten Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724285, slrprddef724285, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/texte_schildkroeten_python