提示: 可以将if 语句嵌入到while 语句中组成使用
while 语句嵌套
if True:
while False:
pass
嵌套示意:
while 真值表达式:
...
while 真值表达式2:
....
else:
...
...
else:
...
break 语句
作用:
用于循环语句(while, for)中,用来终止当前循环语句的执行
语法:
break
语法说明:
1. break 语句执行后,此循环语句将不再执行
2. break 语句通常和if语句组成使用
3. break 语句终止循环时,循环语句的else子句的语句将不会被执行
4. break 语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
5. break只能在循环语句(while 或 for 语句)内部使用
死循环 loop
1. 死循环是指循环条件一直成立的循环
2. 死循环通常用break语句来终止循环
3. 死循环的else子句永远不会执行
for 语句
作用:
用来遍历序列或可迭代对象的每个一元素
说明:
可迭代对象是指能依次提供 "数据" 的对象
可迭代对象包括:
字符串
------ 以下后面会讲 --------
列表
元组
字典
集合
生成器等
....
for 语法:
for 变量列表 in 可迭代对象:
语句块1
else:
语句块2
说明:
1.变量依次用可迭代以象每次给出的元素依次赋值,然后执行语句1
2. 可迭代对象迭代完成的获取元素后,执行else子句部的语句块2,然后退出此循环语句
3. else 子句可以省略(同while类似)
4. 语句块1的执行次数与可迭代对象的每个元素个数有关
5. 当用break语句终止循环时,else子句部分语句不会执行
range() 函数:
格式:
见: >>> help(range)
函数
range(stop) 从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)
range(start, stop[, step]) 从start开始,每次生成一个整数后移运step步长,直到超出stop为止(不包含stop,且step可以是负数)
作用:
用来生成一系列整数序列的可迭代对象
说明:
此对象可用于for语句来进行依次迭代取出其中的元素
示例:
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, 0) # 空
示例见: range.py
for 语句嵌套:
语法:
for 变量列表1 in 可迭代对象1:
...
for 变量列表2 in 可迭代对象2:
....
else:
...
...
...
continue 语句
作用:
用于循环语句(while, for语句) 中, 不再执行本次循环内continue之后的语句,重新开始一次新的循环
示例:
# 略过2
for x in range(5): # <---.
if x == 2: # |
continue # ----+
print(x)
else:
print("for循环结束!")
说明:
1. 在for 语句中执行continue语句,将会从可迭代对象中取下一个元素绑定变量后,再次进行循环
2. 在while 语句中,执行continue 语句后,将会直接跳转到while语句真值表达式处重新判断循环条件,来决定是否开始一次新的循环
while 真值表达式 : <--.
... |
continue ------+
列表 list
列表的定义:
列表是由一系列特定元素组成的,元素与元素之间可能没有任何关联关系,但他们一定有先后顺序关系
列表是序列的一种
列表是可以改变的序列
列表是一种容器
创建空列表字面值:
L = [] # [] 用来表示列表 , L 绑定空列表
创建非空的列表:
L = [1, 2, 3, 4]
L = [1.1, 2.2, 3.14]
L = ["北京", "上海", "广州"]
L = [1, "two", 3.14, "four", 4+6j]
L = [1, 2, [3.1, 3.2], 4]
列表的构造(创建)函数
list() 生成一个空的列表,等同于 []
list(iterable) 用可迭代对象初始化一个列表
示例:
L = list() # L = []
L = list("hello") # L = ['h', 'e', 'l', 'l', 'o']
s = "tarena"
L = list(s) # L = ['t', 'a', 'r', 'e', 'n', 'a']
L = list(range(1, 10, 2)) # L = [1, 3, 5, 7, 9]
列表的运算:
+ += * *=
+ 用于拼接列表
+= 用于原列表与右侧列表拼接,并用变量绑定新列表
* 生成重复的列表
*= 用原列表生成重复的列表,并用变量绑定新列表
示例:
x = [1, 2, 3]
y = [4, 5, 6]
z = x + y # z = [1,2,3,4,5,6]
z += [7,8,9] # z = [1,2,3,4,5,6,7,8,9]
z = x * 3 # z = [1,2,3,1,2,3,1,2,3]
y *= 3 # y = [4, 5, 6, 4, 5, 6, 4, 5, 6]
n = 4
n *= [5, 10] # n = [5, 10, 5, 10, 5, 10, 5, 10]
列表的比较运算:
< <= > >= == !=
示例:
x = [1, 2, 3]
y = [1, 2, 4]
x < y # True
x > y # False
x == y # False
[3,4,5] > [3, 4] # True
[1, "two"] > ["two", 1] # TypeError
示例:
a = "hello"
b = 'world'
L = [a, b] # L = ['hello', 'world']