一.判断
1.三大控制流程结构
① 顺序控制结构
② 条件控制结构
③ 循环控制结构
2.条件语句
① if-else语句
if 条件:
满足条件要做的事情
else:
不满足条件要做的事情
② if-elif-else条件语句
if 第一个条件:
执行满足第一个条件的语句
elif 第二个执行条件:
执行满足第二个条件的语句
elif 第n个执行条件:
执行满足第n个条件的语句
else:
以上条件全都不满足,执行这条语句
③ if语句嵌套
if 主条件:
if 从条件一:
执行满足从条件一的语句
elif 从条件二:
执行满足从条件二的语句
else:
从条件全都不满足执行这条语句
else:
主条件不满足执行这条语句
3.三目运算符
#如果条件为真,返回真,否则返回假
condition_is true if condition else condition_is_false
例:
c = a if a >= b else b #判断a,b值大小,将大的赋值给c
print(c)
4.省略判断条件
二.循环
1.两种循环控制结构
① while循环
② for循环
2.while循环语句
① while循环
while 条件:
条件满足时,做的事情
条件满足时,做的事情
例:计算1-100的总和
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
② while循环嵌套
while 条件1:
条件1满足时,做的事情
条件1满足时,做的事情
while 条件2:
条件1满足时,做的事情
条件1满足时,做的事情
例:输出一个9*9乘法表
i = 1 # 行数控制
while i <= 9:
j = 1 # 列数控制
while j <= i:
print(j, '*', i, '=', j * i, end=' ')
j += 1
print('\n')
i += 1
3.for循环语句
① for循环
for 赋值目标 in 遍历对象:
对赋值目标操作
② range()函数
range(start, stop [,step])
start:计数从start开始,默认是从0开始。例如: range(5)等价range(0, 5)
stop:计数到stop结束,但不包括stop。例如: range(5)是[0,1,2,3,4],注意此处没有5
step:步长,默认为1。例如: range(0, 5)等价于range(0, 5, 1)
例:计算1-100的总和
sum = 0
for i in range(1, 101):
sum += i
print(sum)
③ for循环嵌套
for 赋值目标1 in 遍历对象1:
对赋值目标1操作
for 赋值目标2 in 遍历对象2:
对赋值目标2操作
例:输出一个9*9乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(j, '*', i, '=', j * i, end=' ')
print('\n')
4.break跳出循环
while 条件:
条件满足时,做的事情
if 条件:
break
for 赋值目标 in 遍历对象:
对赋值目标操作
if 条件:
break
5.continue跳过本次循环
while 条件:
条件满足时,做的事情
if 条件:
continue
for 赋值目标 in 遍历对象:
对赋值目标操作
if 条件:
continue
6.循环的else子句
while 条件:
条件满足时,做的事情
if 条件:
break
else:
循环正常离开做的事情
for 赋值目标 in 遍历对象:
对赋值目标操作
if 条件:
continue
else:
循环正常离开做的事情
7.使用else子句场景
for i in data:
if 条件满足:
break
else:
# raise error or do additional
Flag = Flase
for i in data:
if 条件满足:
Flag = True
if not Flag:
# raise error or do additional processing
8.for和while对比
① for循环
a. 迭代次数固定
b. 可以使用break和continue
c. 使用计数器
d. 可以使用while循环重写
e. 效率更高
② while循环
a. 迭代次数不固定
b. 可以使用break和continue
c. 使用计数器,循环前必须初始化,循环过程中,必须有变化
d. 有些可以使用for循环重写