【青少年编程】绘制五星红旗
Scratch竞赛交流群已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】,即可进入。
如果加入了之前的社群不需要重复加入。
类比思维就是指把两个或者两类事物进行比较,并进行逻辑推理,找出两者之间的相似点和不同点,然后运用同中求异或异中求同的思维方法进行学习的一种思维。
“类比思维”是知识迁移的重要手段,本篇图文以绘制等腰直角三角形为例,来介绍这种思想。等我们带孩子们把Scratch的关卡全部搞定之后,就来通过这种方式学Python。
「1. 通过 Scratch 绘制五星红旗」
由于Scratch没有填充的积木块,所以这里只绘制长方形以及一颗主星,四颗副星。
绘制结果如下:
「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(-225, 150, 450, 300, 0)
drawStar(-200, 90, 70, 0) # 主星
drawStar(-110, 130, 25, 305) # 副星
drawStar(-80, 100, 25, 305) # 副星
drawStar(-80, 50, 25, 0) # 副星
drawStar(-120, 30, 25, 300) # 副星
turtle.done()
绘制结果如下:
是不是很有趣,一个是小猫一个是海龟,都可以定义函数,也都可以绘制图形。