分享

【青少年编程】绘制五星红旗

 老马的程序人生 2021-01-30

Scratch竞赛交流群已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】,即可进入。
如果加入了之前的社群不需要重复加入。

类比思维就是指把两个或者两类事物进行比较,并进行逻辑推理,找出两者之间的相似点和不同点,然后运用同中求异或异中求同的思维方法进行学习的一种思维。

“类比思维”是知识迁移的重要手段,本篇图文以绘制等腰直角三角形为例,来介绍这种思想。等我们带孩子们把Scratch的关卡全部搞定之后,就来通过这种方式学Python。

「1. 通过 Scratch 绘制五星红旗」

由于Scratch没有填充的积木块,所以这里只绘制长方形以及一颗主星,四颗副星。

01
02
03

绘制结果如下:

04

「2. 通过 Turtle 绘制五星红旗」

import turtle

t = turtle.Turtle()


def drawRectangle(x, y, width, height, angle, pencolor='red', fillcolor='red'):
    t.penup()
    t.color(pencolor)
    t.fillcolor(fillcolor)
    t.goto(x, y)
    t.setheading(angle)
    t.pendown()
    t.begin_fill()
    for i in range(2):
        t.forward(width)
        t.right(90)
        t.forward(height)
        t.right(90)
    t.end_fill()


def drawStar(x, y, length, angle, pencolor='yellow', fillcolor='yellow'):
    t.penup()
    t.color(pencolor)
    t.fillcolor(fillcolor)
    t.goto(x, y)
    t.setheading(angle)
    t.pendown()
    t.begin_fill()
    for i in range(5):
        t.forward(length)
        t.right(180 - 180 / 5)
    t.end_fill()


t.shape(name='turtle')
turtle.TurtleScreen._RUNNING = True
drawRectangle(-2251504503000)
drawStar(-20090700)  # 主星
drawStar(-11013025305)  # 副星
drawStar(-8010025305)  # 副星
drawStar(-8050250)  # 副星
drawStar(-1203025300)  # 副星
turtle.done()

绘制结果如下:

05

是不是很有趣,一个是小猫一个是海龟,都可以定义函数,也都可以绘制图形。


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多