微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我似乎无法让我的两只眼睛为 Turtle 工作

如何解决我似乎无法让我的两只眼睛为 Turtle 工作

那么我在这里错过了什么?我只需要有两只用红色填充的眼睛。我不确定“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 函数!

您在代码中做错了什么:

  1. 首先,你还没有调用那个眼功能,你期待着工作。您必须先调用该函数,然后它才会起作用。
  2. t.color(red) 中有错误,您不能像这样写颜色名称,颜色名称应始终为字符串!
  3. 如果你已经修正了以上所有错误的东西,那么你也只会得到左眼,因为你已经像这样硬编码了乌龟的位置t.setposition(-50,40)
  4. 如果您对眼睛进行硬编码,则必须创建 2 个函数。一个用于左侧,第二个用于眼睛。
  5. Twist : 你不必创建新函数,你可以使用 DCircle 函数来做所有这些事情,你已经做了动态函数来制作任何类型的圆然后,为什么您需要创建新功能并将事情变得过于复杂。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。