Python Turtle图形比例大小和位置

2024-05-14 09:56:22 发布

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

我需要一些关于Python-turtle图形的帮助。我需要创建一个在for ... in range()循环中每次变小的房子。在

我用三个基本的海龟形状的房子来创造风景。有没有办法,当我创建一个基本形状的房子,我可以使用一个for ... in range()循环来改变房子的位置,使它的尺寸小一点?在

我目前所做的努力:

def house(turtlename,hs,xroof,xdoor,xwindow,ywindow):
 housesquare(turtlename,hs)
 turtlename.pu()
 turtlename.goto ((int(hs*xroof),int(hs*1)))
 turtlename.pd()
 housetriangle(turtlename,hs)
 turtlename.pu()
 turtlename.goto((int(hs*xdoor),0 ))
 turtlename.pd()
 housedoor(turtlename,hs*0.7,hs*0.3)
 turtlename.pu()
 turtlename.goto((int(hs*xwindow), int(hs*ywindow)))
 turtlename.pd()
 housesquare(turtlename,hs*0.3)

用这个代码,我试着画一个更小的房子。goto()命令扰乱了整个形状,我必须手动完成所有操作,但任务是使用for ... in range(4)绘制四个房子,每一个都更小,并且放置在一个小距离。在


Tags: inforrangeintpdhs形状pu
0条回答
网友
1楼 · 发布于 2024-05-14 09:56:22

你需要画一个相对,而不是绝对,时尚。您可以使用.goto()进行此操作,它看起来像:

turtle.goto(turtle.xcor() + hs * xwindow, turtle.ycor() + hs * ywindow)

也就是说,相对于你现在的位置移动。然而,完全避免.goto()并使用相对运动方法,如.forward().backward().left().right()。下面是使用这些相对运动方法对代码进行的重新编写:

^{pr2}$

请注意,由于相关的绘制逻辑,它不仅可以绘制不同尺寸的房子,还可以旋转它:

enter image description here

相关问题 更多 >

    热门问题