一、课程介绍
本节课将学习 Python 中的 for 循环,并应用画笔后退和画圆的知识,最终绘制出月食过程。
二、重难点解析
for循环
我们在编程时,有些代码和逻辑是重复的,这个时候可以考虑使用 for 循环,减少重复的代码。
for循环的基本格式与缩进
基本格式:
for i in range(3):
语句1
语句2
...
缩进:一般使用 4 个空格(点四下空格键或用“Tab”键即可)。
示例如下:
运行结果:
循环结构顺序结构:
顺序结构:程序按顺序从上往下逐行执行。
如:
循环结构:程序会多次执行循环里的代码。
如:
三、单词卡
for [fɔː(r)] 对于
in [ɪn] 在...内
range [reɪndʒ] 范围
white [waɪt] 白色
四、小试牛刀
4.1 源码操作 I
使用 for 循环来简化画糖葫芦的代码。
### 代码~ ###
import turtle
p = turtle.Pen()
for i in range(5):
p.pencolor('wheat')
p.pensize(8)
p.forward(50)
p.dot(50, 'blue')
p.ht()
turtle.done()
4.2 源码操作 II
在程序中添加代码,完成倒城墙的绘制。
import turtle
p = turtle.Pen()
p.pencolor('brown')
p.pensize(5)
p.left(180)
# 绘制城墙的可重复部分
for i in range(20):
p.forward(10)
p.right(90)
p.forward(10)
p.left(90)
p.forward(10)
p.left(90)
p.forward(10)
p.right(90)
# 画出接轨部分
p.forward(10)
p.right(90)
p.forward(50)
# 返回,画出剩余的部分
p.right(90)
p.forward(20 * 20 + 10)
p.right(90)
p.forward(50)
p.ht()
turtle.done()
4.3 源码操作 III
制作梯子~
### 代码~ ###
import turtle
p = turtle.Pen()
\# 左竖杆
p.pencolor('brown')
p.pensize(10)
p.left(90)
p.forward(300)
\# 右竖杆
p.penup()
p.forward(-300)
p.right(90)
p.forward(60)
p.pendown()
p.left(90)
p.forward(300)
p.forward(-300)
\# 绘制横杆
for i in range(9):
• p.forward(30)
• p.left(90)
• p.forward(60)
• p.forward(-60)
• p.right(90)
p.ht()
turtle.done()
4.4 源码操作 IIII
编写一个绘制灯泡的程序!
### 代码~ ###
import turtle
p = turtle.Pen()
# 灯泡
p.pencolor('yellow')
p.dot(180)
p.left(90)
p.forward(100)
# 螺口
p.pencolor('gray')
p.pensize(30)
for i in range(3):
p.right(90)
p.forward(30)
p.backward(60)
p.forward(30)
p.left(90)
p.forward(20)
p.ht()
turtle.done()
五、扩展练习
## 代码 ##
import turtle
p = turtle.Pen()
p.ht()
p.pencolor("yellow")
p.dot(300)
p.forward(150)
p.pencolor("white")
p.forward(150)
for i in range(200):
p.forward(-1)
p.dot(300)
turtle.done()
六、自由发挥
用今天学到的知识做一段虚线吧~
import turtle
p=turtle.Pen()
p.pensize(5)
for i in range(7):
p.pencolor('white')
p.forward(20)
p.pencolor('green') #颜色可以自定义哦!
p.forward(20)
p.ht()
turtle.done()