详解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 相关文章推荐
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
Python实现堆排序的方法详解
May 03 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
Python基础学习之常见的内建函数整理
Sep 06 Python
基于tensorflow加载部分层的方法
Jul 26 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 Python
Python如何实现强制数据类型转换
Nov 22 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 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实现的替换敏感字符串类实例
2014/09/22 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
python爬取代理ip的示例
2020/12/18 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
SportsDirect.com新加坡:英国第一体育零售商
2019/03/30 全球购物
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
介绍一下gcc特性
2012/01/20 面试题
遗体告别仪式答谢词
2014/01/23 职场文书
活动总结模板
2014/05/09 职场文书
赔偿协议书范本
2014/09/12 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
汉语拼音教学反思
2016/02/22 职场文书
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js