详解Python流程控制语句


Posted in Python onOctober 28, 2020

流程控制

  1. 流程:代码执行的过程
  2. 控制:对代码执行过程的把控

三大结构

  • 顺序结构:代码默认从上到下,依次执行
  • 分支结构:单项分支,双向分支,多项分支,巢状分支
  • 循环结构:while循环和for循环

单项分支

语句:

if 条件表达式:
    code1
    code2

当条件表达式成立时,返回True,执行对应的代码块

job = "programmer"
if job == "programmer":
   print("钱多")
   print("话少")
   print("*的早")

双向分支(二选一)

语句:

if 条件表达式:
    code1 ..
else:
    code2 ...

  • 如果条件表达式成立,返回True ,执行if这个区间的代码块
  • 如果条件表达式不成立,返回False,执行else这个区间的代码块
job = "programmer"
if job == "programmer":
   print("钱多")
   print("话少")
   print("*的早")
else:
   print("给你小红花儿~")

多项分支(多选一)

语句:

if 条件表达式1:
    code1
elif 条件表达式2:
    code2
elif 条件表达式3:
    code3
else:
    code4

  • 如果条件表达式1成立,执行对应分支的代码块code1,反之则判断条件表达式2是否成立
  • 如果条件表达式2成立,执行对应分支的代码块code2,反之则判断条件表达式3是否成立
  • 如果条件表达式3成立,执行对应分支的代码块code3,反之则执行else分支,到此程序执行完毕
money = False
car = False
house = False
if money == True:
   print("你是土豪么???")
elif car == True:
   print("你是有一辆蹦蹦嘛???")
elif house == True:
   print("你是什么房子啊?")
else:
   print("你是个好人~")

巢状分支

单项分支,双向分支,多项分支的互相嵌套组合

money = False
car = True
house = True
if money == True:
   print("你是土豪么???")
   if house == True:
      print("你是什么房子啊?")
      if car == True:
         print("你是有一辆蹦蹦嘛???")
      else:
         print("其实还可以~")
   else:
      print("感觉差点意思~")
else:
   print("你是个好人~")

循环结构

特点:

减少冗余代码,提升代码执行效率

语法:

while 条件表达式:
    code1

书写三部曲

  • 初始化一个变量
  • 书写循环条件
  • 添加自增/自减的值

案例1

# 打印1~100所有数字
i = 1
while i <= 100:
   print(i)
   i += 1

案例2

# 打印1~100的累加和
i = 0
total = 0
while i <= 100:
   total += i
   i += 1
print(total)

死循环

while True:
   print("死循环")

关键字的使用

pass(代码块中的占位符)

while True:
   pass

break(终止当前循环)

# 1~10,遇到5终止循环
i = 1
while i <= 10:
   print(i)
   if i == 5:
      break
   i += 1

container(跳过当前循环)

# 打印1~100中不含4的数字
i = 1
while i <= 100:
   strvar = str(i)
   if "4" in strvar:
      i += 1
      continue
   print(i)
   i += 1

for循环

循环/遍历/迭代,把容器中的元素一个个取出来

while的局限性

# Error
# setvar = {"a", "b", "c"}
# i = 0
# while i < len(setvar):
   # print(setvar[i])
   # i+=1

for循环的基本语法

for 变量 in Iterable:
    code1

Iterable

Iterable可迭代性数据

  1. 容器类型数据
  2. range对象
  3. 迭代器

range

range(开始值,结束值,步长)
区间为[开始值,结束值),为左闭右开区间,右边的结束值取不到

总结

  • while:一般用于处理复杂的逻辑关系
  • for:一般用于迭代数据
  • 部分情况下两个循环可以互相转换

以上就是详解Python流程控制语句的详细内容,更多关于Python流程控制语句的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
Jul 06 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
Python数据类型之Number数字操作实例详解
May 08 Python
python匿名函数用法实例分析
Aug 03 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
tensorflow实现在函数中用tf.Print输出中间值
Jan 21 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
解决import tensorflow导致jupyter内核死亡的问题
Feb 06 Python
Python爬取网站图片并保存的实现示例
Feb 26 Python
详解selenium + chromedriver 被反爬的解决方法
Oct 28 #Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 #Python
Python字典实现伪切片功能
Oct 28 #Python
python使用selenium爬虫知乎的方法示例
Oct 28 #Python
怎么解决pycharm license Acti的方法
Oct 28 #Python
python如何快速拼接字符串
Oct 28 #Python
Python实现简单的猜单词小游戏
Oct 28 #Python
You might like
php 运行效率总结(提示程序速度)
2009/11/26 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
简单介绍Python中的floor()方法
2015/05/15 Python
Python中的getopt函数使用详解
2015/07/28 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
python批量处理文件或文件夹
2020/07/28 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
体育教师工作总结的自我评价
2013/10/10 职场文书
幼儿教师考核制度
2014/01/25 职场文书
学生安全责任书范本
2014/07/24 职场文书
工作感想范文
2015/08/07 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
Python 统计序列中元素的出现频度
2022/04/26 Python