Wiederholungen mit veränderten Werten (Wiederholungen mit veränderten Werten), Spiel, Seite 724507
https://www.purl.org/stefan_ram/pub/veraenderungen_py (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs (leicht)

Wiederholungen mit veränderten Werten

Die folgende Zauberrolle zeichnet drei Quadrate.

Dabei sind die Zeilen zum Zeichnen eines Quadrates immer gleich! Wir nennen diese Zeilen hier den „Quadratblock“.

Davor werden in einer Zeile die Werte für die Position »p« und die Seitenbreite »s« gesetzt, die dann im der Quadratblock berücksichtig werden. Diese Zeilen nennen wir „Variablenzeile“.

Die Position  »p« ist ein Paar aus zwei Zahlen: die erste gibt an, wie weit rechts vom Mittelpunkt die Position ist, die zweie wie weit oberhalb des Mittelpunktes sie sich befindet. Solche Paare schreibt man, indem man zwei Zahlen mit einem Komma getrennt in runde Klammern schreibt.

Die Zauberrolle enthält also jeweils abwechselnd eine Variablenzeile zum Festlegen veränderlicher Werte und einen immer gleichen Quadratblock.

Zauberrolle

from turtle import *
bgcolor( 0, 0, 0 ); penup()

# Variablenzeile
p = 0, 0; s = 20

# Quadratblock
setpos( p ); fillcolor( 0, 1, 1 ); begin_fill()
forward( s ); right( 90 ); forward( s ); right( 90 )
forward( s ); right( 90 ); forward( s ); right( 90 )
end_fill()

# Variablenzeile
p = 40, 40; s = 10

# Quadratblock
setpos( p ); fillcolor( 0, 1, 1 ); begin_fill()
forward( s ); right( 90 ); forward( s ); right( 90 )
forward( s ); right( 90 ); forward( s ); right( 90 )
end_fill()

# Variablenzeile
p = 40, 80; s = 15

# Quadratblock
setpos( p ); fillcolor( 0, 1, 1 ); begin_fill()
forward( s ); right( 90 ); forward( s ); right( 90 )
forward( s ); right( 90 ); forward( s ); right( 90 )
end_fill()

Wir wollen nun auch noch die Farbe  des Quadrates variabel gestalten.

Zauberrolle

from turtle import *
bgcolor( 0, 0, 0 ); penup()

p = 0, 0; s = 20

setpos( p ); fillcolor( 0, 1, 0 ); begin_fill()
forward( s ); right( 90 ); forward( s ); right( 90 )
forward( s ); right( 90 ); forward( s ); right( 90 )
end_fill()

p = 40, 40; s = 10

setpos( p ); fillcolor( 0, 1, 1 ); begin_fill()
forward( s ); right( 90 ); forward( s ); right( 90 )
forward( s ); right( 90 ); forward( s ); right( 90 )
end_fill()

p = 40, 80; s = 15

setpos( p ); fillcolor( 0, 0, 1 ); begin_fill()
forward( s ); right( 90 ); forward( s ); right( 90 )
forward( s ); right( 90 ); forward( s ); right( 90 )
end_fill()

Jetzt sind die verschiedenen Quadratblöcke aber nicht mehr genau gleich! Das ist unübersichtlich, weil es jetzt schwieriger wird, eventuelle Unterschiede der Blöcke zu erkennen.

Schreiben sie die zuletzt gezeigt Zauberrolle so um, daß alle drei Quadratblöcke wieder genau gleich sind, indem Sie nach dem Vorbild der Position »p« und Seitenbreite »s« für die drei Zahlenwerte der Füllfarbe einen Namen einsetzen, dessen Werte dann jeweils in der Variablenzeile vor dem Quadratblock festgelegt werden.

(Es ist auch möglich, diese Aufgabe mit dem Hinzufügen nur einer einzigen Variablen zu lösen, die – nach dem Vorbild der Position »p« – drei Zahlen enthält und dann als in den Klammern hintern »fillcolor« verwendet wird.)

Falls Sie noch Zeit haben, können Sie noch mehr verschiedene Quadrate zeichnen, indem Sie jeweils eine Variablenzeile und den dahinterstehenden Quadratblock an das Ende der Zauberrolle kopieren und die Werte der Variablenzeile dann ändern.

 

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 stefanram724507 stefan_ram:724507 Wiederholungen mit veränderten Werten Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724507, slrprddef724507, 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/veraenderungen_py