问题描述
那么我在这里错过了什么?我只需要有两只用红色填充的眼睛。我不确定“def eye”缺少什么,但我确定这就是我犯错的地方。
import turtle
t = turtle.Turtle()
def DCircle(x,y,radius,color):
t.penup()
t.setposition(x,y)
t.pendown()
t.fillcolor(color)
t.begin_fill()
t.color(color)
t.circle(radius)
t.end_fill()
def eye(color,radius):
t.penup()
t.setposition(-50,40)
t.pendown()
t.fillcolor(color)
t.color(red)
t.begin_fill()
t.circle(radius)
t.end_fill()
def Mickey():
r = 50
DCircle(0,2*r,'blue')
DCircle(-135,115,r,'red')
DCircle(135,'red')
def Main():
Mickey()
turtle.done()
turtle.bye()
turtle.getscreen()._root.mainloop()
Main()
解决方法
我认为您正在尝试这样做:
import turtle
t = turtle.Turtle()
def DCircle(x,y,color,radius):
t.penup()
t.setposition(x,y)
t.pendown()
t.fillcolor(color)
t.begin_fill()
t.color(color)
t.circle(radius)
t.end_fill()
def Mickey():
r = 50
DCircle(0,'blue',2*r)
DCircle(-50,40,"red",r)
DCircle(50,r)
def Main():
Mickey()
turtle.done()
turtle.bye()
turtle.getscreen()._root.mainloop()
Main()
您没有正确定位!我认为在您的代码中您创建了 eye
函数,但从未使用过它,但无论如何您都不需要该函数。我们可以在 DCircle
函数中做任何循环。
编辑:
你可以Mickey
函数这个然后你会得到你所说的2只眼睛和2只耳朵!
def Mickey():
r = 50
DCircle(0,2*r,'blue')
DCircle(-135,115,r,'red')
DCircle(135,'red')
DCircle(-50,100,20,"red")
DCircle(50,"red")
我认为您不需要创建eye
函数!
您在代码中做错了什么:
- 首先,你还没有调用那个眼功能,你期待着工作。您必须先调用该函数,然后它才会起作用。
-
t.color(red)
中有错误,您不能像这样写颜色名称,颜色名称应始终为字符串! - 如果你已经修正了以上所有错误的东西,那么你也只会得到左眼,因为你已经像这样硬编码了乌龟的位置
t.setposition(-50,40)
。 - 如果您对眼睛进行硬编码,则必须创建 2 个函数。一个用于左侧,第二个用于眼睛。
-
Twist : 你不必创建新函数,你可以使用
DCircle
函数来做所有这些事情,你已经做了动态函数来制作任何类型的圆然后,为什么您需要创建新功能并将事情变得过于复杂。