流程控制语句分类

1).顺序结构

2).判断结构

3).循环结构

判断结构

特点:如果 ... 否则 ...

格式一:

               

                if 条件表达式:

                                语句块

               

格式二:

               

                if 条件表达式:

                                语句块1

                else:

                                语句块2

               

格式三:

     ①

     if 条件表达式1:

                     语句块1

     elif 条件表达式2:

                     语句块2

     elif 条件表达式3:

                     语句块3

     ...

     else:

                     语句块n

     ②

循环结构

分类:1).while、2).for ... in ...

1.while循环:

理解:有四要素组成

①.初始化条件(执行一次):就是一个起点(起始值),代码的体现就是定义一个变量记录初始值

②.循环条件(可能执行一次或多次):循环到底是继续还是结束,由它把控;如果执行结果为   True,则循环继续;反之,循环结束

③.迭代条件(可能执行0次或多次):不断的去改变起始值,以达到控制循环次数的目的

④.循环体(可能执行0次或多次):需要重复执行的逻辑代码

格式:

               

                while ②:

                      

                      

               

执行流程:① -> ② -> ④ -> ③ -> ② -> ④ -> ③ -> ② ->  ⑤

else语句配合循环使用:

特点:如果循环是正常执行完毕,那么else中的代码一定会被执行; 如果循环是由于break关键字而强行终止,那么else中的代码就不会被执行

 i = 1
while i <= 10:
if i == 5:
break
print(i)
i += 1
else:
print('一旦遇到牛逼break我就不会被执行')

2.for ... in循环:

格式:

          for 变量 in 容器对象:

                          语句块

执行流程:1.遇到for关键字将容器对象中的第一个元素给到变量,执行语句块; 2.再将容器对象中的第二个元素给到变量,执行语句块; 3.以此类推...; 4.直到容器对象中最后一个元素也被获取过了,执行完语句块,整个for...in循环就结束了

使用场景:

场景一:for循环配合range对象使用

1).通过执行完毕range()函数返回给程序一个range对象,此对象是一个惰性序列对象(显示不清晰),可以使用遍历的思想去查看其内容,也可以将其转换为list、tuple等类型再进行运算;

2).它仍然是一个容器对象,有容量/长度,有索引(index),可以通过变量名配合下标访问容器中的元素,格式: range([start],end,[step]),解析参数:start:起始数据,默认从0开始;end:结尾数据;step:步长;特点:含头不含尾  --> [start,end)。

 r = range(1,5)
print(r,type(r),len(r))
r = range(10)
# 遍历r对象
for i in r:
print(i,end=" ")

也可以将range对象转换为其它的容器对象(例如:list),然后在执行遍历操作:

 r = range(1,11)
print(r,type(r),len(r))
lt = list(r)
print(lt,type(lt),len(lt))
# 使用while循环遍历range对象:
i = 0
while i < len(r):
print(r[i])
i += 1

场景二:for循环配合容器对象使用

配合容器对象(str、list、tuple、dict、set)使用

 # 配合list&str类型使用:
lt = [10,20,30,40,50]
for i in lt:
print(i,end=" ")
print() str1 = "abcdefg12345$%!"
for j in str1:
print(j,end=" ")
print() # 配合dict对象使用:
dic1 = {'name':'韩梅梅','age':25,'height':165.0}
#通过键找到值
for k in dic1:
print(k + "-->" + str(dic1.get(k)))

嵌套循环

循环中再定义循环,就是嵌套循环;

【注意】:嵌套循环不是两层循环,两层循环是嵌套循环,在之后开发过程中,99%的情况两层就够了;不应该出先3,4层

格式模板:

while 中嵌套 while

while 中嵌套 forin

forin 中嵌套 while

forin 中嵌套 forin

格式:

for i in seq1:                       # 外层循环

语句块1

for j in seq2:                  # 内层循环

语句块2                      # 内存循环的循环体

最新文章

  1. 【java】org.apache.commons.lang3功能示例
  2. 初学Html
  3. PL/SQL基础2(笔记)
  4. 在C#中开启事务
  5. Oracle中instr 函数的详解
  6. iOS 关于使用xib创建cell的两种初始化方式
  7. win10系统更新补丁时进度条一直卡在0%不动的解决方案
  8. Java Performance - 如何调查解决内存问题
  9. [转载]JMeter源码导入Eclipse
  10. Control character in cookie value, consider BASE64 encoding your value
  11. 图文混排——用表情代替&quot;[文字]&quot;
  12. js闭包的真正理解
  13. 沉默的螺旋--digest
  14. java中Set的用法
  15. PHP开发APP接口之返回数据
  16. 8. Object转Map,Map转Object
  17. FileReader读取文件
  18. 从本机构建Windows应用程序虚拟机映像
  19. 在WebStorm中使用CSScomb
  20. python学习笔记 - for循环: 遍历字典, 分别打印key, value, key:value

热门文章

  1. Windows玩转Kubernetes系列2-Centos安装Docker
  2. [模板]线性递推+BM
  3. oracle 11g数据库服务器安装
  4. 数据结构与算法 --- js描述队列
  5. linux---&gt;Linux centon6.9 安装mysql
  6. linux下的特殊模式
  7. POI导出excel的三种方式
  8. Leetcode 题目整理-5 Valid Parentheses &amp; Merge Two Sorted Lists
  9. centos7.6+python3+apache2.4+django2.1.2网站部署总结
  10. react中,路由的使用。import {BrowserRouter,Switch,Route} from &quot;react-router-dom&quot;;