(共23张PPT)
用Python画国旗
for循环及其应用
学习目标
能够应用列表、range()函数解决循环问题
分析问题,设计解决问题的基本方案,培养解决问题的能力
1. 掌握计数循环(for循环)的基本结构
进一步体会程序设计的基本步骤
1
2
3
4
观察国旗由什么构成,阅读《中华人民共和国国旗法》,用自然语言描述绘制国旗的过程。
算法描述
认识turtle
import turtle 导入海龟库
turtle.forward(distance) 控制海龟前进 distance 个单位像素的距离
turtle.backward(distance) 控制海龟后退 distance 个单位像素的距离
turtle.goto(x, y) 海龟移动到坐标(x,y)的位置
turtle.left(angle) 让海龟向左改变 angle 个角度
turtle.right(angle) 让海龟向右改变 angle 个角度
热身活动:画一个边长为100的正方形
right 90°
① import turtle
② turtle.right(90)
③ turtle.forward(100)
知识讲授——for循环
for 循环变量 in 列表/range()函数:
语句或语句组
缩进(四个字符)
空格
空格
空格
冒号
知识讲授——列表
列表是多个数据元素的有序集合,用[]将数据集中存放,便于记录和处理,是Python中的一种数据存储形式。
列表就像是一列火车,方括号里,逗号之间存放着各种数据元素,好比火车车厢,逗号是火车车厢之间的连接。
object=[‘中’,‘国’,‘红’]
object
中
国
红
知识讲授——列表
object=[‘中’,‘国’,‘红’]
object
中
国
红
列表的索引号从0开始,而不是从1开始。
调用列表的格式:列表名[索引号]
object[0]=‘中’
object[1]=‘国’
object[2]=‘红’
知识讲授——for循环练习
for i in [1,2,3,4,5,6,7]:
print(i)
①输出结果是什么?
计数循环
②循环体print(i)执行了几次?
7
知识讲授——range函数
range()函数可以创建一个整数列表
range()函数语法:
range(start,stop[,step])
计数从start开始(默认是0),
到stop结束,但不包括stop,step步长默认为1。
range(5)
range(0,5,1)
[0,1,2,3,4]
#从0开始到5,步长为1
range(1,4)
[1,2,3]
range(0,20,5)
[0,5,10,15]
range(10,0,-2)
[10,8,6,4,2]
知识讲授——for循环练习2
for i in range(4):
print(i)
输出结果是什么?
循环体print(i)执行了几次?
for i in range(1,5):
print(i)
4
任务一 画旗面
自主探究:画一个长宽比为3:2的矩形,438*292
438
292
任务一 画旗面
自主探究:变成红色
438
292
轮廓颜色:pencolor()
填充颜色:fillcolor()
Tips:需要注意填充颜色的使用格式
t.fillcolor("red")
t.pencolor("red")
t.begin_fill()
画矩形
t.end_fill()
任务一 画旗面
根据学案补全桌面上程序“任务一 画旗面”
任务一 画旗面
任务二 画大五角星
自主探究:用for循环画一个边长50的五角星
?
思考:
1.前进多少像素?
2.向左转还是向右转?
3.转多少度?
任务二 画大五角星
五角星的位置(-170,145)颜色:黄色
根据学案补全桌面上程序“任务二 画大五角星”
能否用for循环来改写四个小五角星的代码。
任务三:画四个小五角星
#四个小五角星坐标和旋转角度
location=[(-100,180),(-85,150),(-85,120),(-100,100)]
angle=[305,30,3,300]
知识点:调用列表中的元素
注意列表的索引号从0开始
小五角星边长:20
#小五角星1
turtle.up()
turtle.goto(location[0]) #五角星的坐标
turtle.setheading(angle[0]) # 设置当前海龟朝向
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.forward(20)
turtle.right(144)
turtle.end_fill()
能否用for循环来改写四个小五角星的代码?
根据学案补全桌面上程序“任务三 画小五角星”
能否用for循环来改写四个小五角星的代码。
任务三:画四个小五角星
#小五角星1
turtle.up()
turtle.goto(location[0])
turtle.setheading(angle[0])
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.forward(20)
turtle.right(144)
turtle.end_fill()
#小五角星2
turtle.up()
turtle.goto(location[1])
turtle.setheading(angle[1])
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.forward(20)
turtle.right(144)
turtle.end_fill()
#小五角星3
turtle.up()
turtle.goto(location[2])
turtle.setheading(angle[2])
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.forward(20)
turtle.right(144)
turtle.end_fill()
#小五角星4
turtle.up()
turtle.goto(location[3])
turtle.setheading(angle[3])
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.forward(20)
turtle.right(144)
turtle.end_fill()
循环的嵌套
能否用for循环来改写四个小五角星的代码。
任务四:作品展示与提交
命名方式:班级-学号-姓名,如3-99-王小玲.py
通过本节课,你学到了什么?
总结
中华人民共和国国旗神圣不可侵犯
课后练习
中国共产主义青年团团旗
中国共产党党旗
如果信仰有颜色
如果信仰有颜色,
那一定是中国红,
长在红旗下,生在春风里,
目光所至皆华夏,
五星闪耀皆信仰。
愿以吾辈之青春,
捍卫盛世之中华,
何其幸运,生于华夏,见证百年,
愿山河无恙,祖国繁荣昌盛,
此生无悔入华夏,
来世还做中国人。