day05
for 语句(循环语句)
作用:
用来遍历可迭代对象的数据元素
语法:
for 变量列表 in 可迭代对象:
语句块1 …
else:
语句块2 …
语法说明:
1. 可迭代对象每次提供一个元素依次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复执行此步骤
2. 当可迭代对象不能够提供数据时,执行else子句部分的语句块2. 然后退出循环
3. else子句部分可以省略(同while语句类似)
4. 当在语句内部用break终止循环时,else子句部分语句块2不会执行.
可迭代对象是指能依次获取数据元素的对象
range函数
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
调用格式:
range(stop) 从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)
range(start, stop[,step]) 从start开始,每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以为负整数
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
number = int(input("请输入一个10以内的数字:"))
i = 1
while i <= number:
for j in range(i, i+number):
print(j, end=' ')
print()
i += 1
continue 语句
作用:
用于循环语句(while,for语句)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环
说明:
1. 在while语句中执行 continue语句,将直接跳转到while语句的真值表达式处重新判断循环条件
2. 在for语句中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次进行循环
# 打印5以内的整数, 跳过2,不打印2
for i in range(5):
if i == 2: # 如果i等于2, 重新开始一次新的循环
continue
print(i)
结果:
0
1
3
4
练习:
写一个程序,求1 ~ 100之间所有不能被 5,7,11整除的数的和
L = []
for i in range(101):
if i % 5 == 0 or i % 7 == 0 or i % 11 == 0:
continue
print(i, end=' ')
L.append(i)
print("\n和是:", sum(L))
结果:
1 2 3 4 6 8 9 12 13 16 17 18 19 23 24 26 27 29 31 32 34 36 37 38 39 41 43 46 47 48 51 52 53 54 57 58 59 61 62 64 67 68 69 71 72 73 74 76 78 79 81 82 83 86 87 89 92 93 94 96 97
和是: 3007
循环语句:
while 语句
for 语句:
字符串
range函数
break 语句
continue 语句
列表 list
列表的定义:
列表是由一系列元素组成的,元素与元素之间可能没有任何的关联关系,但他们之间有先后顺序关系
列表是一种容器
列表是一种序列
列表是可以被改变的序列
python3 中的序列:
字符串 str
列表 list
元组 tuple
字节串 bytes
字节数组 bytearray
创建空列表的字面值:
L = [] # L 绑定空列表
创建非空列表的字面值
L = [1, 2, 3, 4]
L = [‘Beijing’, ‘shanghai’, ‘shenzhen’]
L = [1, ‘two’, 3.3, ‘四’]
L = [1, 2, [3.1, 3.2, 3.3], 4]
列表的构造函数 list
list() # 生成一个空的列表 等同于 []
list(iterable) # 用可迭代对象创建一个列表
列表的运算:
运算符:
+ += * *=
- 用于拼接列表
x = [1,2,3]
y = [4,5,6,7]
z = x + y # z = [1, 2, 3, 4, 5, 6, 7]
+= 用原列表与右侧列表拼接,并用变量绑定新列表
x = [1,2,3]
x += [4,5,6] # x = [1,2,3,4,5,6]
- 生成重复的列表
x = [1,2] * 3 # x = [1,2,1,2,1,2]
y = 3 * [5,6] # y = [5,6,5,6,5,6]
*= 生成重复的列表,并给原变量赋值
x = [3,4]
x *= 2 # x = [3,4,3,4]
y = 3
y *= [7,8] # y = [7,8,7,8,7,8]
列表的比较运算:
运算符:
< <= > >= == !=
示例:一个一个的比较 Unicode值
[1,2,3] < [1,2,4] # True
[1,3] > [1,2,4] # True
[5] < [5, 0] # True
[“ABC”, “123”] > [‘abc’, ‘456’] # False
[1, “two”] > [“two”, 1] # TypeError
[1, 2] < [3.3, 4] # True
[1] < [‘2’] # TypeError
for x in "ABC":
for y in "123":
print(x + y)