(共16张PPT)
循环结构
信息技术必修1 数据与计算
第二章 2.3.3 语句与程序结构
循环结构
在循环结构中,一些语句在某一条件成立时,被重复执行,直到条件不成立时,才结束重复执行。
这个条件称为循环控制条件, 被重复执行的语句块称为循环体。
循环结构
某一条件
一些语句
python循环语句
python语言提供了两种基本的循环结构语句:
while语句
for语句
循环结构应用:
1、计时器; 2、价格竞猜; 3、找出特定区域的数值等......
循环结构
1、while语句
基本格式:
while 表达式:
语句块1
语句块2
语句3
初始语句
循环结构 ---- while
课本倒计时程序
import turtle
import time
text=turtle.Turtle()
text.hideturtle()
i=10
while i>=1:
text.write( i, font=("黑体", 14, "normal"))
time.sleep(1)
text.clear()
i=i-1
#导入画图模块
#导入时间模块
#定义text变量为画图对象
#隐藏text变量画图箭头
#定义倒计时初始时间
#设定倒计时结束条件
#变量text画出数值 i
#时间暂停1秒
#清除text画出的数字
#变量i减少1秒
循环结构 ---- while
课堂练习
1、输出1----100之间所有整数的和
初始s=0,i=1
把i加到s中 s=s+i
i是否在100以内
输出s
变量设定
和:S ,初始值0
整数:i ,初始值1
i=i+1
循环条件
i从1变到100,i<=100
程序编写
输出和
print(s)
循环体
将i加入到s中,s=s+i
i变成下一个数,i=i+1
循环结构 ---- while
2、输出1----100之间偶数的和
课堂练习
初始s=0,i=1
i是否在100以内
是否能被2整除
把i加到s中,s=s+i
True
False
输出s
程序编写
把i变成下一个值,i=i+1
循环结构 ---- while
2、for语句
基本格式:
for 循环变量 in 序列:
语句块1
语句块2
语句3
初始语句
循环结构 ---- for
语句块1
语句块2
循环变量是否能取到序列中下一个元素
初始语句
语句3
循环结构 ---- for
import turtle
import time
text = turtle.Turtle()
text.hideturtle()
for i in range(10,1,-1):
text.write(i, font=("黑体", 14, "normal"))
time.sleep(1)
text.clear()
i = i-1
#导入画图模块
#导入时间模块
#定义text变量为画图对象
#隐藏text变量画图箭头
#设定循环变量i在序列range中取值
#变量text画出数值i
#时间暂停1秒
#清除text画出的数字
#变量i减少1秒
课堂练习
1、输出1----100之间所有整数的和
初始s=0,i=1
把i加到s中 s=s+i
i是否在100以内
输出s
i=i+1
程序编写
循环结构 ---- for
s=0
for i in range(1,101,1):
s=s+i
print(s)
1、range(终值)
例如range(5)等价于range(0, 5);
例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
例如:range(0, 5) 等价于 range(0, 5, 1)
表示等差整数序列: 0,1,...,(终值-1)。
例如:range(0,5,1) 表示等差数列为 0,1,2,3,4
等差整数序列函数 -- range()
2、range(起始值, 终值[, 步长])
例如:range(5) 表示等差数列: 0,1,2,3,4
range(100) 表示等差数列: 0,1,...,99
表示等差整数序列: 起始值,起始值+步长,起始值+步长+步长,...,比终值小(大)的值。
例如:range(0,5,2) 表示等差数列为 0,2,4
例如:range(5,0,2) 表示等差数列为 5,3,1
For语句中的序列
1、range(终值)
例如 range(5)等价于 range(0, 5)也等价于 range(0, 5, 1)
表示等差整数序列: 0,1,...,(终值-1)。
等差整数序列函数 -- range()
2、range(起始值, 终值[, 步长])
表示等差整数序列: 起始值,起始值+步长,起始值+步长+步长,...,比终值小(大)的值。
两者之间比较:
都表示等差数列:0,1,2,3,4
起始值和步长可以省略,缺省时,起始值默认为0 ,步长默认为 1
起始值和步长都缺省
步长缺省
For语句中的序列
列表类型也可以作为for语句的序列
For语句中的序列
names=['张飞','曹操','孙策','刘备','关羽','赵云','黄忠']
for n in names:
print(n)
For语句中,循环次数有由序列中元素的个数决定。
对于确定循环次数的循环结构用for语句,
对于不能确定循环次数的,需要用while语句。
我重复执行了多少次?
3、循环嵌套
循环结构 ---- 嵌套
一个循环结构内再包含另一个循环,这样的结构称为循环嵌套(多重循环)。
for a in range(1,10):
for b in range(1,20):
print(a+b)
外
循
环
内
循
环
循环结构 ---- 嵌套
九九乘法表
外循环
内循环
外循环变量 i ,从1 ---- 9
内循环变量 j ,从1 ---- i
制表符 “\t”
循环结构 ---- 嵌套
九九乘法表
外循环变量 i ,从1 -- 9
内循环变量 j ,从1 -- i
# 外循环
for i in range( 1 , 10 ):
# 内循环
for j in range( 1 , i+1 ):
# 通过end='' 设置函数print()不输出换行符
print(j,'*',i,'=',j*i,"\t",end="")
print()
输出制表符和不换行符
内循环结束输出换行