详解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 相关文章推荐
Python 列表(List)操作方法详解
Mar 11 Python
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
Python双精度浮点数运算并分行显示操作示例
Jul 21 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
python 搜索大文件的实例代码
Jul 08 Python
python中调试或排错的五种方法示例
Sep 12 Python
Python随机数函数代码实例解析
Feb 09 Python
python 字典item与iteritems的区别详解
Apr 25 Python
Python自带的IDE在哪里
Jul 01 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
用PYTHON去计算88键钢琴的琴键频率和音高
Apr 10 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中处理模拟rewrite 效果
2006/12/09 PHP
php adodb介绍
2009/03/19 PHP
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP中文编码小技巧
2014/12/25 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
vue.js实现双击放大预览功能
2020/06/23 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
在python中的socket模块使用代理实例
2014/05/29 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
Python整数对象实现原理详解
2019/07/01 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
电子商务专业学生的自我鉴定
2013/11/28 职场文书
法学专业毕业生自荐信范文
2013/12/18 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
承诺书样本
2014/08/30 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server