Python乌龟()不更改笔的大小

2024-10-01 22:31:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python2.7中更改笔的大小。我知道pensize()命令可以与width()互换(两者都不起作用),但是无论我输入什么值,笔的大小都保持不变。我们使用winged来用Python编程,但是使用pythonide并不能解决这个问题。在

我已经在3台机器上测试过了,同样的问题。我玩过turtle.pensize()的位置,大小保持不变。下面的代码将绘制字母“I”,并从第二个字母开始:

import turtle

t = turtle.Pen()
turtle.bgcolor("black")
turtle.pensize(800)

t.reset()
t.color("green");

t.pu();
t.setx(-450);
t.pd();

t.left(90);

t.forward(120);

t.pu();
t.right(90);
t.forward(90);
t.right(90);
t.pd();

#I

t.forward(120);
t.left(90);
t.forward(20);

reset()

我并没有收到错误,但我会发布WingIDE调试器显示的内容:

^{pr2}$

第一次张贴在这里,请让我知道,如果我可以更具体或补充信息。在


Tags: 命令right机器编程字母widthleftpd
1条回答
网友
1楼 · 发布于 2024-10-01 22:31:09

however the size of the pen stays the same no matter what value i enter

好吧,这应该是因为你实际上在和两个不同的海龟一起工作:

t = turtle.Pen()
turtle.bgcolor("black")
turtle.pensize(800)
...
t.forward(120)

您犯了一个错误,将函数接口与面向对象接口混合到turtle中。您创建了自己的海龟t,但是您更改了默认的海龟的笔大小。如果要更改乌龟的笔大小,请执行以下操作:

^{pr2}$

这是一个常见错误,因此我建议Python turtle程序员使用以下导入:

from turtle import Screen, Turtle

它加载面向对象的代码,但屏蔽了函数接口。一旦解决了这个问题,那么您需要解决@jasonharper在注释中提出的问题,即调用reset()将撤消{},并且在程序中此时确实不需要。相应地重写了代码:

from turtle import Screen, Turtle, mainloop

screen = Screen()
screen.bgcolor('black')

t = Turtle()
t.pensize(8)

t.color("green")

t.penup()
t.setx(-450)
t.pendown()

t.left(90)
t.forward(120)

t.penup()
t.right(90)
t.forward(90)
t.right(90)
t.pendown()

t.forward(120)
t.left(90)
t.forward(20)

mainloop()  # screen.mainloop() for Python 3

相关问题 更多 >

    热门问题