for 语句(循环语句)
作用:
用来遍历可迭代对象的数据元素
语法:
for 变量列表 in 可迭代对象:
语句块1 ...
else:
语句块2 ...
语法说明:
1. 可迭代对象每次提供一个元素依次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复执行此步骤
2. 当可迭代对象不能够提供数据时,执行else子句部分的语句块2. 然后退出循环
3. else子句部分可以省略(同while语句类似)
4. 当在语句内部用break终止循环时,else子句部分语句块2不会执行.
可迭代对象是指能依次获取数据元素的对象
示例见: for.py
练习:
写程序,任意输入一行字符串,打印这个符串内有多少个空格' '(要求用for语句,不能用S.count方法)
思考:
上题能否用while语句实现?
range函数
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
调用格式:
range(stop) 从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)
range(start, stop[,step]) 从start开始,每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以为负整数
示例:
range(4) # 生成 0 1 2 3
range(3, 6) # 生成 3 4 5
range(1, 10, 2) # 生成 1 3 5 7 9
range(5, 0, -2) # 生成 5 3 1
range(4, 1) # 空
见: range.py
请问此程序的打印结果是什么?说明什么问题?
i = 10
for x in range(1, i):
print(x) # 请问打印几行?
i -= 2
for 语句嵌套:
示意:
for x in "ABC":
for y in "123":
print(x + y)
for x in "ABC":
for y in "123":
for z in "abc":
print(x + y + z)
练习:
用 for 循环嵌套打印如下矩形:
(输入一个数n(10以内) 代表矩形的宽度和高度)
如:
请输入: 5
打印如下:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
请输入: 3
打印如下:
1 2 3
2 3 4
3 4 5
continue 语句
作用:
用于循环语句(while,for语句)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环
说明:
1. 在while语句中执行 continue语句,将直接跳转到while语句的真值表达式处重新判断循环条件
2. 在for语句中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次进行循环
示例见:
continue_for.py
问题:
输入一个开始的整数用begin绑定
输入一个结束的整数用end绑定
打印 begin ~ end之间所有的奇数
begin = int(input("请输入开始的整数: "))
end = int(input("请输入结束的整数: "))
for i in range(begin, end):
if i % 2 == 0:
continue
print(i)
练习:
写一个程序,求1 ~ 100之间所有不能被 5,7,11整除的数的和
循环语句:
while 语句
for 语句:
字符串
range函数
break 语句
continue 语句
练习:
用循环输入文字,将每次输入的文字保存在一个列表L中,当输入空行时结束输入.并打印列表 L 的内容
练习:
1.
输入一个Unicode的开始值 用变量begin绑定
输入一个.........结束值 用变量stop绑定
打印开始值至结束值之间的所有对应的文字,生成字符串并打印
请输入开始值: 20013
请输入结束值: 20050
打印:
中丮丯...........乑乒
2. 输入一个整数(代表树干的高度)
打印如下一棵圣诞树
输入:2
*
***
*
*
输入:3
*
***
*****
*
*
*
3. (改进上述代码)输入一个整数(代表树干的高度)
打印如下一棵圣诞树
输入:3
1
222
33333
*
*
*
4. 输入一个正整数,打印这个数是否是素数(prime)
提示:
素数也叫质数,是只能被1和自身整数的整数
如:
请输入: 5
打印:
5 是素数
请输入: 6
打印:
6 不是素数
素数: 2 3 5 7 11 13 17 19 23 ...
作用:
用来遍历可迭代对象的数据元素
语法:
for 变量列表 in 可迭代对象:
语句块1 ...
else:
语句块2 ...
语法说明:
1. 可迭代对象每次提供一个元素依次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复执行此步骤
2. 当可迭代对象不能够提供数据时,执行else子句部分的语句块2. 然后退出循环
3. else子句部分可以省略(同while语句类似)
4. 当在语句内部用break终止循环时,else子句部分语句块2不会执行.
可迭代对象是指能依次获取数据元素的对象
示例见: for.py
练习:
写程序,任意输入一行字符串,打印这个符串内有多少个空格' '(要求用for语句,不能用S.count方法)
思考:
上题能否用while语句实现?
range函数
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
调用格式:
range(stop) 从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)
range(start, stop[,step]) 从start开始,每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以为负整数
示例:
range(4) # 生成 0 1 2 3
range(3, 6) # 生成 3 4 5
range(1, 10, 2) # 生成 1 3 5 7 9
range(5, 0, -2) # 生成 5 3 1
range(4, 1) # 空
见: range.py
请问此程序的打印结果是什么?说明什么问题?
i = 10
for x in range(1, i):
print(x) # 请问打印几行?
i -= 2
for 语句嵌套:
示意:
for x in "ABC":
for y in "123":
print(x + y)
for x in "ABC":
for y in "123":
for z in "abc":
print(x + y + z)
练习:
用 for 循环嵌套打印如下矩形:
(输入一个数n(10以内) 代表矩形的宽度和高度)
如:
请输入: 5
打印如下:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
请输入: 3
打印如下:
1 2 3
2 3 4
3 4 5
continue 语句
作用:
用于循环语句(while,for语句)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环
说明:
1. 在while语句中执行 continue语句,将直接跳转到while语句的真值表达式处重新判断循环条件
2. 在for语句中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次进行循环
示例见:
continue_for.py
问题:
输入一个开始的整数用begin绑定
输入一个结束的整数用end绑定
打印 begin ~ end之间所有的奇数
begin = int(input("请输入开始的整数: "))
end = int(input("请输入结束的整数: "))
for i in range(begin, end):
if i % 2 == 0:
continue
print(i)
练习:
写一个程序,求1 ~ 100之间所有不能被 5,7,11整除的数的和
循环语句:
while 语句
for 语句:
字符串
range函数
break 语句
continue 语句
练习:
用循环输入文字,将每次输入的文字保存在一个列表L中,当输入空行时结束输入.并打印列表 L 的内容
练习:
1.
输入一个Unicode的开始值 用变量begin绑定
输入一个.........结束值 用变量stop绑定
打印开始值至结束值之间的所有对应的文字,生成字符串并打印
请输入开始值: 20013
请输入结束值: 20050
打印:
中丮丯...........乑乒
2. 输入一个整数(代表树干的高度)
打印如下一棵圣诞树
输入:2
*
***
*
*
输入:3
*
***
*****
*
*
*
3. (改进上述代码)输入一个整数(代表树干的高度)
打印如下一棵圣诞树
输入:3
1
222
33333
*
*
*
4. 输入一个正整数,打印这个数是否是素数(prime)
提示:
素数也叫质数,是只能被1和自身整数的整数
如:
请输入: 5
打印:
5 是素数
请输入: 6
打印:
6 不是素数
素数: 2 3 5 7 11 13 17 19 23 ...