1.顺序控制流
- 基本语法:
if 条件:
代码块1
else:
代码块2
- 使用顺序控制流的时候,首先我们需要判断 if 条件的真假,真则输出代码块1,否则输出代码块2;
- 而这时需要用到真值表; 一般来说,0、"" 空字符串、() 空元组、[] 空列表、{} 空字典、None 等空值的都为 False;而像1、“Str” 字符串等有值的都为 True;
2.分支控制流
- 基本语法:
if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
else:
代码块4
如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,
- 分支控制流,就是除了 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
- 嵌套控制流是在分支控制流基础上,再嵌套新的控制流,如上述例子所示,在elif条件2下面在嵌套一个新的 if 控制流;
- 且嵌套控制流的执行顺序同分支控制流相同,自上而下满足条件则执行相应代码块;
4.循环控制流
(1)while循环
例:
a = 5
while a > 1:
print('yes')
a -= 1
- 第一次循环满足 while 循环 a > 1 的条件时,则开始循环,执行print语句输出yes;
- 第二次循环如果还满足循环条件,则继续print执行语句输出yes;
- 一直到循环不满足条件时(即 a 不再大于 1),循环终止,不再执行;
- 所以最终结果是输出四个yes;
(2)while else循环
例1:
a = 5
while a > 1:
print('yes')
a -= 1
else:
print('循环结束')
例2:
a = 5
while a > 1:
print('yes')
a -= 1
if a == 2:
break
else:
print('循环结束!')
- while else 循环和 while 循环不同的地方在于,如果是正常终止的循环,也就是像例1一样的没有 break的循环,最后一次循环完毕后,不仅会输出4个yes,还会接着执行 else 中的语句,输出“循环结束”;
- 如果是像例2一样在循环里面加上了一个新的 if条件 和 break语句时,则只要满足了 if 条件循环就会直接终止,不再执行任何语句,也就是跳出循环;
(3)for循环
例:
for i in range(5):
print(i)
- for循环里面当满足 if 循环条件时,则循环一直执行,不满足则退出;
- 上述循环输出答案为0,1,2,3,4;
- 注:range 函数是一个可迭代对象,比如上述 range (5)会生成从0到5区间( 即[0,9]或[0,10) )的所有整数,range就像数学中的区间 一样,左边是闭区间,右边是开区间;
(4)for else循环
例:
i = None
for i in range(5):
print(i)
else:
print(i)
- for else 循环和 while else 循环有点类似,如果是正常退出的,当执行完 for 循环的最后一次循环时,会接着循环 else 里面的语句,如上述例子中,在输出了1,2,3,4 之后会继续执行else中的语句,此时i = 4 ,所以会继续输出一个4;
- 而如果在for循环里面加了break,那么只要满足break的条件,循环就会终止;
(5)continue 语句
例:
#方法一
for i in range(1,11):
if i % 2:
print(i)
#方法二
for i in range(1,11):
if i % 2:
continue
print(i)
- 循环中如果使用了 continue 关键字,当条件为真的时候,会执行 continue,直接进行下一次新的循环,不会再继续执行 continue 后面的语句;
- 条件为假的时候情况正好相反,continue 不会执行,而是会执行 continue 后面的语句;
- 所以上述例1输出:1,3,5,7,9,例2正好相反,输出:2,4,6,8,10;
- 注:range 类的使用,range(start,stop[,step]) -> range object。如果直接输出 range,会实现一个魔术方法,str()或者 repr()方法,返回自己本身。如果想打印 range 里面的内容,可以把 range 包装成列表list的形式;
(6)break 语句
例:
flag = 0
for i in range(1,100):
if i % 3:
print(i)
flag += 1
if flag >= 5:
break
如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,
-
break 关键字和 continue 有点不同,如果条件为真的时候,会执行 break,直接跳出循环;
-
条件为假时,不会执行 break,而是执行 break 后面的语句;
*所以上述例子中会输出:1,2,4,5,7 -
注意:在 Python 中,continue 和 break 只能影响当前所在的这一层循环,如果是在内部循环中进行 continue 和 break,那么外层循环不会受到影响;