详解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中第三方库Requests库的高级用法详解
Mar 12 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
详解Python3序列赋值、序列解包
May 14 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
Aug 01 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
python logging 日志的级别调整方式
Feb 21 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 Python
python 单机五子棋对战游戏
Apr 28 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
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
Python中标准模块importlib详解
2017/04/16 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
python能做什么 python的含义
2019/10/12 Python
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
临床医学系毕业生推荐信
2013/11/09 职场文书
超级搞笑检讨书
2014/01/15 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
销售求职信范文
2014/05/26 职场文书
环保标语大全
2014/06/12 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
销售会议开幕词
2016/03/04 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle
Python实现抖音热搜定时爬取功能
2022/03/16 Python
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript