当前位置:首页>python>通过scratch学python-画图

通过scratch学python-画图

  • 2026-09-10 05:35:30
通过scratch学python-画图

scratch

python

      如果你已经在 Scratch 的世界里,用拖拽积木的方式操控画笔画出过五彩的线条、可爱的图形,甚至完整的艺术作品,那么恭喜你 —— 你早已掌握了编程绘画的核心逻辑!

      现在,让我们把这份熟悉的创造力,迁移到 Python 的世界里,用文字代码替代积木,用 Turtle 库替代 Scratch 画笔,开启更灵活、更强大的编程绘画之旅。

01

scratch画笔命令

     scratch画笔命令有以下这些:

02

python画笔

 Python 的 Turtle 库(海龟绘图库)是 Python 内置的图形绘制工具,专为编程初学者设计 —— 它就像给你一只听话的 “小海龟”,你用简单的代码指令指挥它在画布上移动,海龟走过的轨迹就会变成线条、图形,甚至复杂的艺术图案。

 Turtle 库的设计初衷和 Scratch 画笔一脉相承,核心都是 “通过控制移动指令实现绘画”,但作为 Python 的原生库,它无需拖拽积木,只用文字代码就能完成创作,还能结合 Python 的循环、条件、变量等语法,实现更灵活的绘制逻辑。

在python中,用海龟(turtle)画图。

      第一步:导入turtle

      import turtle

     第二步:设置画布的大小,标题,背景颜色(可以省略)

     大小:turtle.setup(长,高)

     标题:turtle.title(‘标题’)

     背景:turtle.bgcolor(‘颜色单词’)

    第三步:创建笔

    p=turtle.Pen()

    开始画画

    最后:turtle.done()完成画画。

03

scratch与python命令对应表

     Scratch 画笔积木与 Python turtle命令对照表

Scratch 画笔积木

Python turtle对应代码

功能说明

全部擦除

turtle.clear()或turtle.reset()

清空画布,clear()保留当前画笔状态,reset()重置画笔到初始状态

图章

turtle.stamp()

在当前位置留下一个画笔印记

落笔

turtle.pendown() (简写pd())

放下画笔,移动时会绘制轨迹

抬笔

turtle.penup() (简写pu())

抬起画笔,移动时不会留下痕迹

将笔的颜色设为 [棕色]

turtle.pencolor("brown")或turtle.pencolor((0.6, 0.4, 0.2))

设置画笔颜色,支持颜色名或 RGB 元组

将笔的 [颜色] 增加 10

turtle.colormode(255)

r, g, b =   turtle.pencolor()

turtle.pencolor((r+10,   g+10, b+10))

增加画笔颜色的 RGB 分量值(需先设置颜色模式为 0-255)

将笔的 [颜色] 设为 50

turtle.colormode(255)

turtle.pencolor(50,   50, 50)

将画笔颜色的灰度值设为 50(0-255 范围)

将笔的粗细增加 1

turtle.pensize(turtle.pensize()   + 1)

在当前画笔粗细基础上增加 1 像素

将笔的粗细设为 1

turtle.pensize(1)

直接将画笔粗细设置为 1 像素

说明:

•颜色模式:turtle默认颜色模式为 1.0(浮点数),若要使用 0-255 整数,需先执行turtle.colormode(255)。

•简写函数:pendown()/pd()、penup()/pu()、pensize()/width()功能完全一致,可按需选择。

•画布重置:turtle.reset()会同时清空画布并重置画笔位置、颜色、粗细等所有状态,适合“全部擦除并重置”的场景。

03

例

 画一个房子:

python程序:

import turtle  # 导入turtle库

turtle.setup(800,600)

turtle.bgcolor('white')

turtle.title('图')

# 1. 基础设置(用到抬笔、落笔、画笔粗细、颜色设置命令)

p=turtle.Pen()

p.penup()  # 抬笔(对应Scratch抬笔积木)

p.goto(-100, -100)  # 移动到指定位置(辅助命令,方便绘图)

p.pendown()  # 落笔(对应Scratch落笔积木)

p.pensize(3)  # 将笔的粗细设为3(对应Scratch设置画笔粗细)

p.pencolor("red")  # 将笔的颜色设为红色(对应Scratch设置画笔颜色)

# 2. 绘制房子主体(正方形)

for _ in range(4):

    p.forward(200)  # 向前移动200像素(绘图核心命令)

    p.left(90)  # 向左转90度(辅助绘图命令)

# 3. 绘制房子屋顶(三角形)

p.pencolor("blue")  # 切换画笔颜色为蓝色

p.penup()

p.goto(-100, 100)

p.pendown()

p.goto(0, 200)

p.goto(100, 100)

# 4. 绘制房门(长方形)

p.pencolor("brown")  # 切换画笔颜色为棕色

p.penup()

p.goto(-30, -100)

p.pendown()

for _ in range(2):

    p.forward(60)

    p.left(90)

    p.forward(80)

    p.left(90)

# 5. 绘制窗户(两个小正方形)

p.pencolor("yellow")  # 切换画笔颜色为黄色

p.penup()

p.goto(-70, 0)

p.pendown()

for _ in range(4):

    p.forward(40)

    p.left(90)

p.penup()

p.goto(30, 0)

p.pendown()

for _ in range(4):

    p.forward(40)

    p.left(90)

# 6. 图章效果(对应Scratch图章积木)

p.penup()

p.goto(150, 150)

p.pencolor("green")

p.stamp()  # 留下画笔印记

# 7. 停留画布,方便查看效果

turtle.done()

      有兴趣的同学可以用scratch画一下。

最新文章

随机文章