今天要学习的是Python的控制流,控制流就是控制代码执行的流程,就是if、else、循环什么的啦

1.顺序控制流

if 条件1:

代码块1

else:

代码块2顺序控制就是if else语句,如果满足条件1,则输出代码块1,否则输出代码块2;

真值表: 一般来说,0、"" 空字符串、() 空元组、[] 空列表、{} 空字典、None 等空值的都为 False;而像1、"Str" 字符串等有值的都为 True;

2.分支控制流

if 条件1:

代码块1

elif 条件2:

代码块2

elif 条件3:

代码块3

else:

代码块4分支控制流,就是除了 if 和 else 以外,再加上不定量的 elif,执行顺序是自上而下,哪个满足条件则执行哪个代码块;

3.嵌套控制流

if 条件1:

代码块1

elif 条件2:

if 条件2.1:

代码块2.1

elif 条件2.2:

代码块2.2

else:

代码块2.3

elif 条件3 :

代码块3

else:

不满足以上所有条件的代码块嵌套控制流是在分支控制流基础上,再嵌套新的控制流,执行顺序同分支控制流相同,自上而下满足条件则执行;

4.循环控制流

(1)while循环

a = 1

while a < 3:
print('yes')

a += 1第一次循环满足 while 循环的条件 a < 3 时,则开始循环,依次执行语句输出yes;

第二次循环如果还满足循环条件,则继续依次执行语句输出yes;

一直到循环不满足条件时,循环终止,不再执行输出语句;

所以一共输出连两个yes;

(2)while else循环

例子1:

a = 1
while a < 3:
print('yes')
a+= 1
else:
print('结束!')
例子2:
a = 1
while a < 3:
print('yes')
a += 1
if a == 2:
break
else:

print('结束!')如果如例子1一样循环是正常终止的(即没有 break语句),到最后一次循环完毕后,会接着执行一次else中的语句,所以输出结果是:两个‘yes’,一个‘结束’;

如果如例子2循环里面一样加上了 if 和 break 时,则只要满足 if 条件就会直接终止循环,不再执行任何语句,所以输出结果是:一个‘yes’;

(3)for循环

for i in range(10):
print(i)

#输出:0 1 2 3 4 5 6 7 8 9当满足循环条件时,则循环一直执行,直到不满足时会退出循环;

注:range函数是一个可迭代对象,比如 range (10)会生成从0到9区间( 即[0,9]或[0,10) )的所有整数;

(4)for else循环

i = None
for i in range(10):
print(i)
else:
print(i)

#输出结果:0 1 2 3 4 5 6 7 8 9 9for else 循环和 while else 循环有点类似,如果是正常退出的循环,当执行完 for 循环的最后一次循环时,会接着执行一次else 里面的语句;

(5)continue 语句

# 例子1
for i in range(1,11):
if i % 2:
print(i) #输出:1 3 5 7 9
# 例子2
for i in range(1,11):
if i % 2:
continue
print(i) #输出:2 4 6 8 10

比较上面两个例子可以看出,使用了 continue 关键字的循环,当 if 条件为真的时候,会执行 continue,也就是直接进行下一次新的循环,continue 后面的语句不会再继续执行;

if 条件为假的时候情况正好相反,continue 不会执行,而是执行 continue 后面的语句;

(注:range 类的使用,range(start,stop[,step]) -> range object。如果直接输出 range,会实现一个魔术方法,str()或者 repr()方法,返回自己本身。如果想打印 range 里面的内容,可以把 range 包装成列表list的形式;)

(6)break 语句

a= 0
for i in range(1,100):
if i % 3:
print(i)
a+= 1
if a>= 5:
break
#输出: 1 2 4 5 7

在有break的循环中,如果条件为真的时候,会执行 break,也就是直接跳出整个循环;

条件为假时,不会执行 break,而是执行 break 后面的语句;

需要注意:在 Python 中,continue 和 break 只能影响当前所在的这一层循环,如果是在内部循环中进行 continue 和 break,那么外层循环不会受到影响;