【发布时间】:2017-05-24 18:03:10
【问题描述】:
我可能会被讨厌,但我真的需要知道这一点。
我试过turtle.begin_fill() 等,但没有什么对我真正有用。
我想在 Python 中制作实心三角形/矩形,但我不知道如何在我的代码中实现它。
当前代码:
import turtle, math
def theme():
turtle.speed(10)
column_1()
reset_column()
column_2()
reset_column()
column_1()
def reset_column():
turtle.up()
turtle.forward(160)
turtle.left(90)
turtle.forward(480)
turtle.right(90)
turtle.down()
def reset_box():
turtle.up()
turtle.forward(3 * 32)
turtle.right(90)
turtle.forward(2 * 32)
turtle.right(180)
turtle.down()
def column_2():
empty()
reset_box()
filled()
reset_box()
empty()
reset_box()
def column_1():
filled()
reset_box()
empty()
reset_box()
filled()
reset_box()
def filled():
size = 480
box = size / 3
for index in range(4):
turtle.forward(box)
turtle.right(90)
turtle.forward(32)
turtle.right(135)
turtle.forward(32 * math.sqrt(2))
for index in range(4):
for index in range(3):
turtle.left(90)
turtle.forward((32 * math.sqrt(2)) / 2)
turtle.right(90)
turtle.forward((32 * math.sqrt(2)) / 2)
turtle.left(90)
turtle.forward(32 * math.sqrt(2))
turtle.left(135)
turtle.up()
turtle.forward(32)
turtle.down()
for index in range(4):
turtle.forward(box - (2 * (box / 5)))
turtle.right(90)
turtle.forward(32)
first = True
for index in range(4):
if (first):
turtle.right(135)
first = False
else:
turtle.left(90)
turtle.forward(32 * math.sqrt(2))
turtle.left(90)
turtle.forward((32 * math.sqrt(2)) / 2)
turtle.right(90)
turtle.forward((32 * math.sqrt(2)) / 2)
turtle.left(135)
turtle.up()
turtle.forward(32)
turtle.down()
for index in range(4):
turtle.forward(box - (4 * (box / 5)))
turtle.left(90)
def empty():
size = 480
box = size / 3
for index in range(4):
turtle.forward(box)
turtle.right(90)
turtle.forward(32)
turtle.right(90)
turtle.up()
turtle.forward(32)
turtle.down()
for index in range(4):
turtle.forward(box - (2 * (box / 5)))
turtle.left(90)
turtle.left(90)
turtle.forward(32)
first = True
for index in range(4):
if (first):
turtle.right(135)
first = False
else:
turtle.left(90)
turtle.forward(32 * math.sqrt(2))
turtle.left(90)
turtle.forward((32 * math.sqrt(2)) / 2)
turtle.right(90)
turtle.forward((32 * math.sqrt(2)) / 2)
turtle.left(135)
turtle.up()
turtle.forward(32)
turtle.down()
for index in range(4):
turtle.forward(box - (4 * (box / 5)))
turtle.left(90)
theme()
有什么建议吗?真的不知道如何开始这样的事情。这是我第一次接触 Python,尤其是 Turtle 机制。
【问题讨论】: