为什么会没有显示任何图形呢 import turtle #角度 def getPosition(x, y): turtle.setx(x) turtle.sety(y) print(x, y) class Pikachu: def __init__(self): self.t = turtle.Turtle() t = self.t t.pensize(3) t.speed(9) t.ondrag(getPosition) def noTrace_goto(self, x, y): self.t.penup() self.t.goto(x, y) self.t.pendown() def leftEye(self, x, y): self.noTrace_goto(x, y) t = self.t t.seth(0) t.fillcolor('#333333') t.begin_fill() t.circle(22) t.end_fill() self.noTrace_goto(x, y + 10) t.fillcolor('#000000') t.begin_fill() t.circle(10) t.end_fill() self.noTrace_goto(x + 6, y + 22) t.fillcolor('#ffffff') t.begin_fill() t.circle(10) t.end_fill() def main(): print('Painting the Pikachu... ') turtle.screensize(800, 600) turtle.title('Pikachu') pikachu = Pikachu() turtle.mainloop() if __name__ == '__main__': main()
时间: 2023-11-12 15:04:55 浏览: 43
这段代码没有显示任何图形的原因可能是因为你没有调用`leftEye`函数来绘制皮卡丘的左眼,或者你的窗口被关闭了。你可以尝试在`main`函数中调用`leftEye`函数来绘制皮卡丘的左眼,例如:
```python
def main():
print('Painting the Pikachu... ')
turtle.screensize(800, 600)
turtle.title('Pikachu')
pikachu = Pikachu()
pikachu.leftEye(-50, 0) # 绘制左眼
turtle.mainloop()
if __name__ == '__main__':
main()
```
另外,你也可以在`leftEye`函数中加入`self.t.hideturtle()`来隐藏乌龟光标,以使绘制的图形更美观。
相关问题
turtle.goto(x,y)中的x,y怎么转换为像素
在默认情况下,turtle.goto(x,y)中的x和y是以turtle窗口的中心为原点的坐标系。在turtle窗口中,每个像素的大小为1个单位。因此,如果你想将x和y转换为像素,你只需要将它们乘以窗口的宽度和高度的一半即可。具体来说,如果窗口的宽度为w,高度为h,那么x和y的像素坐标为:(x+w/2, h/2-y)。
turtle.goto(x, y) ,演示一下
好的,我可以通过 Python 的 turtle 库来演示一下 turtle.goto(x, y) 的用法。请看下面的代码:
```python
import turtle
# 创建海龟对象
t = turtle.Turtle()
# 移动到坐标 (100, 100) 的位置
t.goto(100, 100)
# 关闭窗口
turtle.done()
```
这段代码创建了一个海龟对象,并通过 `goto()` 方法将海龟移动到坐标 (100, 100) 的位置。运行该程序,你会看到一个窗口弹出,并在其中出现一个海龟图形,海龟图形被移动到了 (100, 100) 的位置。
注意:在运行该程序之前,你需要确保已经安装了 Python 和 turtle 库。