详解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 相关文章推荐
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
Python实现获取域名所用服务器的真实IP
Oct 25 Python
Python编程实现双击更新所有已安装python模块的方法
Jun 05 Python
python+pyqt实现右下角弹出框
Oct 26 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
python pygame模块编写飞机大战
Nov 20 Python
python 接收处理外带的参数方法
Dec 03 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
使用pyqt 实现重复打开多个相同界面
Dec 13 Python
详解python算法常用技巧与内置库
Oct 17 Python
Python中字符串对象语法分享
Feb 24 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 一个页面执行时间类代码
2010/03/05 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
vue 递归组件的简单使用示例
2021/01/14 Vue.js
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
python用插值法绘制平滑曲线
2021/02/19 Python
Python 元组操作总结
2019/09/18 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
Tensorflow累加的实现案例
2020/02/05 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
Python socket处理client连接过程解析
2020/03/18 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
初中生学习的自我评价
2013/11/14 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
社会实践评语
2014/04/28 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
高中运动会前导词
2015/07/20 职场文书
中秋节感想
2015/08/10 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python