gpt4 book ai didi

Python 绘制嵌套正方形

转载 作者:太空宇宙 更新时间:2023-11-04 01:26:12 28 4
gpt4 key购买 nike

我正在编写一个递归函数,使用 turtle 在中心点周围绘制嵌套正方形。 .到目前为止,我所绘制的是嵌套的正方形,但围绕一个角点而不是正方形的中心。

def drawCentSq(t, center,side):

xPt=center[0]
yPt=center[1]
t.up()
t.goto(xPt,yPt)
xPt-=20
yPt+=20
t.up()
t.goto(xPt,yPt)
t.down()
for i in range(4):
t.forward(side)
t.right(90)


def drawNestSqCent(t, center, side):
if side<1:
return
else:
drawCentSq(t,center,side)
drawNestSqCent(t,center,side-10)

def main():
import turtle
import random
mad=turtle.Turtle()
wn=mad.getscreen()
print(drawNestSqCent(mad,(0,0),100))
main()

有什么建议或更正吗?

最佳答案

你必须每次从中心点计算左上角(起点)和正方形的大小(我不确定Turtle中的+x,-x,+y和-y是什么方向但你应该明白这一点)。

import turtle 
import random

def drawCentSq(t, center,side):
## calculate top left corner
xPt=center[0]-side/2
yPt=center[1]+side/2
t.up()
t.goto(xPt, yPt)
t.down()
for i in range(4):
t.forward(side)
t.right(90)

def drawNestSqCent(t, center, side):
if side<1:
return
## else: not necessary as long as the return comes first
drawCentSq(t,center,side)
drawNestSqCent(t,center,side-10)

mad=turtle.Turtle()
wn=mad.getscreen()
drawNestSqCent(mad,[0,0],100)

关于Python 绘制嵌套正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732661/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com