内容正文:
3.2.4 循环结构—for语句
问题导入
问题1:现在有一个列表hobby = [“篮球”, “足球”, “羽毛球”, “乒乓球”, “网球"],如果要将hobby中的所有元素输出到屏幕上(一行一个元素),可通过哪种控制结构来实现?
问题2:如果要将1到50之间的所有偶数都输出到屏幕上,可通过哪种控制结构来实现?
循环结构
具体如何实现呢?
2
for语句格式
格式1:
for <变量> in <序列>:
<循环体>
[else:
<语句块>]
执行过程:for语句通过遍历序列中的元素实现循环,序列中的元素会依次被赋值给变量,然后执行一次循环体。当序列中的元素全部遍历完时,程序会自动退出循环,继续执行else子句中的语句块(else子句可选,且只有for循环完整执行else子句才执行)。
循环体中的语句要向右缩进,
且缩进量要一致。
3
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)该程序段执行后,输出结果为________。