在python 3中的turtle图形函数中定位填充颜色的位置

时间:2018-02-03 03:14:58

标签: python-3.x function turtle-graphics

我正在像计算机科学家一样练习Think,我想这样做 在练习中做出变化,其目的是绘制八角形。我希望八角形填充特定的颜色,但我不知道在哪里放置颜色填充的代码。只用笔颜色就可以正常工作。这就是我所做的,但结果是八边形的外部和内部都是黑色:

import turtle

wn =turtle.Screen()
wn.bgcolor("yellow")


def drawOctagon(t, sz,ang):
"""Make turtle t draw an octagon of size sz with angle ang"""

    for i in range(8):
        t.forward(sz)
        t.left(ang)


t = turtle.Turtle()        
sz = 70
ang = 360/8
t.color("white,white")
t.begin_fill()
drawOctagon(t,sz, ang)
t.end_fill()
wn.exitonclick()

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你基本上拥有它。只需更改此行:

t.color("white,white")

改为:

t.color("white", "white")

虽然黄色的白色很难看!下面是我使用上述修复和一些样式更改对代码进行的修改:

from turtle import Turtle, Screen

my_size = 70
my_angle = 360 / 8

def drawPolygon(turtle, size, angle):
    """ Make 'turtle' draw a polygon of 'size' with 'angle' """

    for _ in range(int(360 / angle)):
        turtle.forward(size)
        turtle.left(angle)

wn = Screen()
wn.bgcolor("yellow")

yertle = Turtle()
yertle.color("white", "white")

yertle.begin_fill()
drawPolygon(yertle, my_size, my_angle)
yertle.end_fill()

wn.exitonclick()

将角度传递给名为drawOctagon()的例程对我来说没有意义,因为它应该已经知道了角度,所以我把它推广为drawPolygon()。您可以在my_angle计算中更改分母以制作六边形等