3.2.4 for循环语句 课件(21PPT)2021-2022学年高中信息技术浙教版(2019)必修1

资源下载
  1. 二一教育资源

3.2.4 for循环语句 课件(21PPT)2021-2022学年高中信息技术浙教版(2019)必修1

资源简介

(共21张PPT)
3.2.4 循环结构—for语句
问题导入
问题1:现在有一个列表hobby = [“篮球”, “足球”, “羽毛球”, “乒乓球”, “网球"],如果要将hobby中的所有元素输出到屏幕上(一行一个元素),可通过哪种控制结构来实现?
问题2:如果要将1到50之间的所有偶数都输出到屏幕上,可通过哪种控制结构来实现?
循环结构
具体如何实现呢?
for语句格式
格式1:
for <变量> in <序列>:
<循环体>
[else:
<语句块>]
执行过程:for语句通过遍历序列中的元素实现循环,序列中的元素会依次被赋值给变量,然后执行一次循环体。当序列中的元素全部遍历完时,程序会自动退出循环,继续执行else子句中的语句块(else子句可选,且只有for循环完整执行else子句才执行)。
循环体中的语句要向右缩进,
且缩进量要一致。
for循环使用示例
(1)遍历列表建立循环
weeklist=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
for day in weeklist:
print("week:",day)
(2)遍历字符串建立循环
for i in "Python":
print(i)
列表、字符串都是序列,可以利用它们来建立循环。
hobby = ["篮球", "足球","羽毛球", "乒乓球", "网球"]
for d in hobby:
print(d)
问题1:
Q1:现在有一个列表hobby = [“篮球”, “足球”, “羽毛球”, “乒乓球”, “网球"],如果要将hobby中的所有元素输出到屏幕上(一行一个元素),可通过哪种控制结构来实现?
练一练
1.有如下程序段:
s=["tea","teacher","student","stu","master"]
c=input(“请输入字符串:")
n=0
for ch in s:
if c in ch:
n += 1
print(n)
若输入的数据为“ter”,输出的值为 。
1 
练一练
2.有如下程序段:
s = 'Python is a popular programming language'
k = c = 0
for ch in s:
if "a" <= ch <= "z" or "A" <= ch <= "Z":
k = k + 1
else:
if k > 6:
c = c + 1
k = 0
print(c)
程序运行结束后,输出的值为 。
2
练一练
3.有如下程序段:
s=input("输入一串字符串:")
a=max=""
for c in s:
if "0"<=c<="9":
a=a+c
else:
if a>max:
max=a
a=""
print(max)
若输入的字符串为“12-8-41-23-52”,则输出的结果为 。
8
格式2:
for <变量> in range(起始值,终值,步长值):
<循环体>
[else:
<语句块>]
Range函数由三个参数(起始值、终值、步长值)来决定序列中元素的个数和范围。如range(0,10,1),生成0-9这十个整数序列。若缺少起始值,则默认值为0;若缺少步长值(步长值是序列中的每个元素之间的差),则默认值为1。循环结束时,循环变量的值为最后一次进循环的值。
for语句格式
循环体中的语句要向右缩进,
且缩进量要一致。
若序列中的元素为有序整数,可利用函数range来实现。
for num in range(2,51,2):
print(num,end=" ")
或:
for num in range(1,51,1):
if num%2==0:
print(num,end=" ")
问题2:
Q2:如果要将1到50之间的所有偶数都输出到屏幕上,可通过哪种控制结构来实现?
练一练
4.有如下程序段:
sum=0
for i in range(10):
 sum+=i
print(″sum=″,sum)
(1)循环变量i的初值为________,终值为________,步长为________。
(2)该程序段执行后,输出结果为________。
答案 (1)0 9 1 (2)45
循环结束时,循环变量的值为最后一次进入循环的值,不会超出范围
练一练
5.有如下程序段:
sum=0
for i in range(10,20,3):
sum+=i
print(″sum=″,sum)
(1)循环变量i的初值为________,终值为________,步长为________。
(2)该程序段执行后,输出结果为________。
答案 (1)10 19 3 (2)58
循环结束时,循环变量的值为最后一次进入循环的值,不会超出范围
练一练
6.有如下程序段:
s=input("请输入一串字符串:")
t = max = 0
for i in range(len(s)):
if "0"<=s[i]<="9":
t = t*10+int(s[i])
if t>max:
max = t
else:
t = 0
print(max)
若输入的字符串为“12a3,670@84”,则输出的结果为 。
670
break & continue
break和continue语句的作用是改变控制流程。
当break语句在循环结构中执行时,它会立即跳出循环结构,转而执行循环结构后面的语句。break语句用来强制跳出循环。
与break语句不同,当continue语句在循环结构中执行时,并不会退出循环结构,而是立即结束本次循环,重新进入下一轮循环,也就是说,跳过循环体中在continue语句之后的所有语句,继续下一轮循环。
7.有如下程序段:
s=0
for i in range(0,20,2):
s+=i
if s>40:
break
print(s)
(1)循环变量i的初值为________,终值为________,步长为________。
(2)该程序段执行后,输出结果为________。
练一练
答案 (1)0 12 2 (2)42
循环结束时,循环变量的值为最后一次进入循环的值,不会超出范围
练一练
8.有如下程序段:
s=["tea","teacher","student","stu","master"]
for ch in s:
if "tea" in ch:
continue
print(ch)
程序运行后,输出 行数据,其中,第1行数据是 。
答案 3 “student”
break/continue语句对else子句的影响
(3)没有break语句
s=["tea","teacher","student","stu"]
c=input("")
for ch in s:
print(ch)
else:
print("完整输出")
运行对应程序,观察输出结果
for循环完整执行,则else子句执行
break/continue语句对else子句的影响
(4)含有break语句
s=["tea","teacher","student","stu"]
c=input("")
for ch in s:
if c in ch:
break
print(ch)
else:
print("完整输出")
运行对应程序,观察输出结果
break语句不执行时,for循环完整执行,else子句执行。
break语句执行时,for循环提前结束,else子句不执行。
break/continue语句对else子句的影响
(5)含有continue语句
s=["tea","teacher","student","stu"]
c=input("")
for ch in s:
if c in ch:
continue
print(ch)
else:
print("完整输出")
运行对应程序,观察输出结果
continue语句不管是否执行,for循环均会完整执行,else子句均执行。
上机练习
1.水仙花数求解。一个三位正整数,若各个位上数字的立方之和等于其本身,则称这个数为水仙花数。编程求解所有的水仙花数。
2.素数求解。一个正整数,若只有1和它本身两个因子,则称这个数为素数。输入一个整数,判断其是否为素数。
for <变量> in <序列>:
<循环体>
[else:
<语句块>]
for <变量> in range(起始值,终值,步长值):
<循环体>
[else:
<语句块>]
总结
for循环语句是通过次数来控制循环的执行过程,即循环的次数可预先计算出的。

展开更多......

收起↑

资源预览