详解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 相关文章推荐
Zabbix实现微信报警功能
Oct 09 Python
python 读写txt文件 json文件的实现方法
Oct 22 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
Java及python正则表达式详解
Dec 27 Python
django celery redis使用具体实践
Apr 08 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
python使用百度文字识别功能方法详解
Jul 23 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 Python
python实现MD5进行文件去重的示例代码
Jul 09 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
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
用JS剩余字数计算的代码
2008/07/03 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
详解Node.js异步处理的各种写法
2019/06/09 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
python实现无证书加密解密实例
2014/10/27 Python
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
python实现简单五子棋游戏
2019/06/18 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
HTML5中的新元素介绍
2008/10/17 HTML / CSS
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
2012/10/05 面试题
争论的故事教学反思
2014/02/06 职场文书
村庄绿化方案
2014/05/07 职场文书
党校学习党性分析材料
2014/12/19 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
储备店长岗位职责
2015/04/14 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
课改心得体会范文
2016/01/25 职场文书