TigerJython: Warum funktioniert dieses Programm nicht so, wie es sollte?
Guten Tag,
ich habe mich in den letzten Tagen mit TigerJython auseinandergesetzt. Mein Ziel war es, vier Dreiecke in unterschiedlichen Farben darzustellen.
from gturtle import *
makeTurtle()
x = 1
def Triangle():
If ,x = 1 , setPenColor("red")
If ,x = 1 , setFillColor("red")
If ,x = 2 , setPenColor("orange")
If ,x = 2 , setFillColor("orange")
If ,x = 3 , setPenColor("green")
If ,x = 3 , setFillColor("green")
If ,x = 4 , setPenColor("blue")
If ,x = 4 , setFillColor("blue")
repeat(3):
forward(100)
right(120)
repeat(4):
startPath()
Triangle()
fillPath()
right (90)
x = x + 1
LG
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programm, programmieren
Zum einen scheint die Einrückung bei right(120) falsch, zum anderen sehen deine If-Statements nicht richtig aus. Sie müssten doch eher so aussehen:
if x == 1:
setPenColor("red")
setFillColor("red")
if x == 2:
# etc. ...
Dabei kannst du das alles noch mit Hilfe einer Liste abkürzen:
from gturtle import *
colors = [ "red", "orange", "green", "blue" ]
def drawTriangle():
repeat 3:
forward(100)
right(120)
def drawTriangles():
number = 0
while number < len(colors):
startPath()
setPenColor(colors[number])
setFillColor(colors[number])
drawTriangle()
fillPath()
right(90)
number = number + 1
makeTurtle()
drawTriangles()