Skip to main content
 首页 » 编程设计

python之在 Python Turtle 图形中制作正方形和旋转正方形的更简单方法

2025年05月04日15jackei

我正在使用 turtle 图形重新创建此模式:

这可能是一个非常基本的问题,但是有没有一种更简单的方法可以让我在正方形内创建旋转的正方形?事实上,我只是用一只 turtle 来制作一个普通的正方形,然后慢慢地将第二只 turtle 移动到位以绘制旋转的部分。例如:

import turtle 
alex = turtle.Turtle() 
tess = turtle.Turtle() 
 
for i in range(4): 
    alex.fd(50) 
    alex.lt(90) 
tess.pu() 
tess.fd(25) 
tess.rt(90) 
tess.fd(10) 
tess.rt(225) 
tess.pd() 
for i in range(4): 
    tess.fd(50) 
    tess.lt(90) 

这对我来说充其量是笨拙的,并且如果我改变边长(我打算这样做)则不起作用。

非常感谢!

请您参考如下方法:

这是开始使用函数的好时机!使用函数,您可以创建可重复使用的代码块,这些代码块可以重复执行特定任务 - 例如,绘制正方形或正方形中的正方形。

让我们使用您的代码并添加一个 square 函数来绘制一个特定大小的正方形。为此,我们将告诉函数要使用哪只 turtle ,以及正方形的大小:

def square(this_turtle, side_length): 
    for i in range(4): 
        this_turtle.fd(side_length) 
        this_turtle.lt(90) 

现在让我们在您的代码中使用新方法:

square(alex, 50) 
tess.pu() 
tess.fd(25) 
tess.rt(90) 
tess.fd(10) 
tess.rt(225) 
tess.pd() 
square(tess, 50) 

从这里开始,您可以考虑如何创建一个 star 函数,它可以生成任意给定大小的“方中方”形状。祝你好运!

这里有一个关于如何使用函数的更详细的解释:http://openbookproject.net/thinkcs/python/english3e/functions.html (我怀疑这是您已经在学习的教程!)