详解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操作SQLite数据库及文件操作详解
Sep 22 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
python 定义n个变量方法 (变量声明自动化)
Nov 10 Python
5分钟 Pipenv 上手指南
Dec 20 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
django foreignkey外键使用的例子 相当于left join
Aug 06 Python
python实现截取屏幕保存文件,删除N天前截图的例子
Aug 27 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
利用pandas将非数值数据转换成数值的方式
Dec 18 Python
Python接口测试文件上传实例解析
May 22 Python
如何用python绘制雷达图
Apr 24 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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
简单采集了yahoo的一些数据
2007/02/14 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
JavaScript实现捕获鼠标坐标
2020/04/12 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
浅谈五大Python Web框架
2017/03/20 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
python动态进度条的实现代码
2019/07/03 Python
python模块导入的方法
2019/10/24 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
学生个人求职自荐信格式
2013/09/23 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
英语自我评价范文
2014/01/24 职场文书
商务助理求职信范文
2014/04/20 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
本科应届生自荐信
2014/06/29 职场文书
公司委托书格式
2014/08/01 职场文书
党员检讨书
2014/10/13 职场文书
2014年团队工作总结
2014/11/24 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
干部考核工作总结
2015/08/12 职场文书
JS ES6异步解决方案
2021/04/29 Javascript