详解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获取某一天是星期几的方法示例
Jan 17 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
python利用百度AI实现文字识别功能
Nov 27 Python
Python partial函数原理及用法解析
Dec 11 Python
python range实例用法分享
Feb 06 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
k-means 聚类算法与Python实现代码
Jun 01 Python
Anaconda使用IDLE的实现示例
Sep 23 Python
django上传文件的三种方式
Apr 29 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获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
JS实现li标签的删除
2019/04/12 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python脚本实现格式化css文件
2015/04/08 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
详解python中各种文件打开模式
2020/01/19 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
Python 列表反转显示的四种方法
2020/11/16 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
《少年王冕》教学反思
2014/04/11 职场文书
无偿献血倡议书
2014/04/14 职场文书
综艺节目策划方案
2014/06/13 职场文书
2014年教育工作总结
2014/11/26 职场文书
遗失说明具结保证书
2015/02/26 职场文书
科级干部培训心得体会
2016/01/06 职场文书
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python