python 中使用turtle库 —— 绘制点阵

举报
福州司马懿 发表于 2024/06/30 21:31:32 2024/06/30
【摘要】 在Python中,turtle库是一个流行的绘图库,它允许我们以简单的方式绘制各种图形。在本博客中,我们将使用turtle库来绘制一个点阵图案,并通过代码详细解释其实现过程。 代码导入与准备首先,我们导入了turtle库,并将其重命名为pic(这是一个常见的习惯,以简化后续的代码调用)。接着,我们定义了一个颜色列表colors,其中包含三种颜色:橙色、红色和棕色。import turtle ...

在Python中,turtle库是一个流行的绘图库,它允许我们以简单的方式绘制各种图形。在本博客中,我们将使用turtle库来绘制一个点阵图案,并通过代码详细解释其实现过程。

代码导入与准备

首先,我们导入了turtle库,并将其重命名为pic(这是一个常见的习惯,以简化后续的代码调用)。接着,我们定义了一个颜色列表colors,其中包含三种颜色:橙色、红色和棕色。

import turtle as pic

colors = ['orange', 'red', 'brown']

图案绘制逻辑

我们的主要逻辑是两层嵌套的循环,外部循环变量i从0到9(总共10次),内部循环变量j同样从0到9。这两个循环变量将决定我们绘制点的位置。

  • xy是点的坐标,初始时x为-100,y在每次内部循环开始时重置为100。
  • 我们根据ij的值来决定点的大小(d)和颜色索引(m)。这里定义了三个条件块,根据这些条件块我们选择了不同的dm值。
x = -100
for i in range(10):
    y = 100
    for j in range(10):
        # 条件判断,决定点的大小和颜色
        ...
        pic.penup()
        pic.goto(x, y)
        pic.dot(d, colors[m])
        y -= 30
    x += 30
  • ij小于2,或者ij大于或等于8时,我们设置点的大小为5,颜色索引为0(即橙色)。
  • ij小于3,或者ij大于或等于7时,我们设置点的大小为10,颜色索引为1(即红色)。
  • 对于其他情况,我们设置点的大小为15,颜色索引为2(即棕色)。

这些条件块的设置为我们绘制了一个有趣的图案,其中边缘的点较小且颜色为橙色,次边缘的点稍大且颜色为红色,中间的点最大且颜色为棕色。

隐藏画笔与完成绘制

最后,我们使用hideturtle()函数隐藏了画笔(因为在这个例子中我们不需要看到画笔本身),并使用done()函数确保绘制完成后窗口保持打开状态。

pic.hideturtle()
pic.done()

结果展示

当你运行这段代码时,你将看到一个包含10x10个点的图案,这些点按照我们定义的规则排列,并带有不同的颜色和大小。这个简单的例子展示了如何使用Python的turtle库来创建有趣的图形和图案。

图片.png

完整代码

import turtle as pic

colors = ['orange', 'red', 'brown']

x=-100
for i in range(10):
    y=100
    for j in range(10):
        if(i<2 or j<2) or (i>=8 or j>=8):
            d=5
            m=0
        elif (i<3 or j<3) or (i>=7 or j>=7):
            d=10
            m=1
        else:
            d=15
            m=2
        pic.penup()
        pic.goto(x, y)
        pic.dot(d, colors[m])
        y-=30
    x+=30
pic.hideturtle()
pic.done()
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。