流程控制

Python程序执行,一定按照某种规律在执行

1.宏观一定是自上而下(逻辑上方代码一定比逻辑下方代码先执行):顺序结构
2.遇到需要条件判断选择不同执行路线的执行方式:分支结构
3.有些事情需要重复不断的去执行(当满足某种条件或不满足某种条件结束重复动作):循环结构

if分支

语法结构
if 判断条件:
同缩进代码块
elif 判断条件:
同缩进代码块
...
else:
同缩进代码块 代码执行过程中if条件通过就不会进入elif判断和else
如果if条件判断不通过再判断elif是否通过
elif判断通过不执行else
else只在所有条件判断不通过才执行 elif可以根据需求出现多次或不出现(代码层次方面要考虑条件的先后顺序)
可以根据需求决定是否有else结构
if嵌套
可以在任何结构的判断缩进下添加if分支结构且条件的判断取决于外层条件判断
if 条件:
if 条件:
pass
elif 条件:
pass
...
else:
pass
elif 条件:
pass
...

while循环

语法:
while 条件:
循环体代码 当判断条件为满足时会执行循环体,执行完毕会再去判断条件是否满足
还满足会继续执行循环体,从而循环执行代码
如果需要结束循环需要让条件在某种情况下不满足
如果需要循环体代码让循环退出可将条件定义为全局变量初始为True
在某种条件下修改该变量为False退出
或者直接使用break退出循环
whlie中使用break是退出本层循环
while中使用continue是退出本次循环直接开始下次循环
while嵌套想要完全退出需要逐循环退出 补充知识点:
死循环:不能主动结束的循环,想要结束只能通过break
0,""空字符串,[],{},None可以被while 及 if这种需要条件的关键词转换为False,其他都是True
while...else...:else分支会在while循环正常结束(没有被break结束)时执行

for循环

for用来完成特定的循环需求,不依赖于索引取值
语法:
for 变量 in 被循环的容器:
循环体代码
for 变量 in range(取值范围):
循环体代码 # 1.for循环会将被循环的容器中的值逐个赋值给变量
# 注:每一次循环 变量的赋值结果 不使用,下一次循环就会被覆盖,无法找回
# 3.当 被循环的容器 中的值被 全部赋值一遍后,循环自动结束 # for+break
# break用来主动结束for循环
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
break
print(name) # for+continue
# continue 跳出本次循环 开始下一次循环
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
continue
print(name) # for...else...
只有for正常结束没有被break结束才会执行else # range()
# 1. range(终止数) 范围从0开始不包含终止数 rang(3) #[0,1, 2]
# 2. range(起始数, 终止数)范围起始数开始不包含终止数 rang(1,5) #[1, 2, 3, 4]
# 3. range(起始数, 终止数, 步长)步长不写默认为1 范围起始数开始不包含终止数
步长为负就反取值 range(10, 5, -1) # [10, 9, 8, 7, 6]
步长大小为 取值的间隔大小 range(5,10,2) #[5,7,9]
range在python2与python3中的区别

python2中
# range其实就是一个列表
# xrange其实就是python3中的range
#python3中
range,你需要值的时候才给你

最新文章

  1. Lrc2srt精灵,增加自定义输出编码
  2. 【总结】虚拟机VirtualBox各种使用技巧
  3. Javascript数据类型检测
  4. Linux上设置memcached自启动
  5. c#项目架构搭建经验
  6. [转]MySQL批量更新死锁案例分析
  7. iOS-H5学习篇-01
  8. PHP入门 - - 05-->编写HTML页面的常用标签
  9. char与TCHAR相互转化
  10. CentOS 7.0 安装go 1.3.1
  11. Team Homework #1 学长“学霸英语学习软件”试用
  12. MYSQL视图的学习笔记
  13. VS2003,安装程序检测到另一个程序…
  14. 开涛spring3(7.5) - 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践
  15. Unity Shader入门教程(四)反射光斑的实现
  16. SpringAop注解实现日志的存储
  17. python实现三级菜单间的前后跳转
  18. 四则运算 C 语言
  19. linux:nano 、cat和file
  20. SQL语句的三大类

热门文章

  1. redHat 安装mono 错误
  2. Spring基础07——配置集合属性
  3. 解决tcp粘包
  4. win10文件夹共享
  5. java实现一个简单的计数器
  6. 细数不懂Spring底层原理带来的伤与痛
  7. 8,HashMap子类-LinkedHashMap
  8. PHP高手干货分享:不能不看的50个细节!【PHP培训教程】
  9. luogu 5471 [NOI2019]弹跳 KDtree + Dijkstra
  10. 【bzoj3926】[Zjoi2015]诸神眷顾的幻想乡