详解Python流程控制语句
作者:kangyz 发布时间:2021-05-15 08:25:45
流程控制
流程:代码执行的过程
控制:对代码执行过程的把控
三大结构
顺序结构:代码默认从上到下,依次执行
分支结构:单项分支,双向分支,多项分支,巢状分支
循环结构: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可迭代性数据
容器类型数据
range对象
迭代器
range
range(开始值,结束值,步长)
区间为[开始值,结束值),为左闭右开区间,右边的结束值取不到
总结
while:一般用于处理复杂的逻辑关系
for:一般用于迭代数据
部分情况下两个循环可以互相转换
来源:https://www.cnblogs.com/kangyz/p/13866724.html
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 一、前言1.1 回归分析是用于研究分析某一变量受其他变量影响的分析方法,其基本思想是以被影响变量为因变量,以影响变量为自变量,研究因变量与自
- 也许有人会说我火星了,但我的确是第一次知道,欢迎我从火星归来吧。在 Yahoo! 首页上隐藏着这样一个小秘密,大家到 www.yahoo.c
- 工欲善其事,必先利其器。作为更专业的前端工程师,我们需要强劲的IDE协助我们写出规范、美观、漂亮的JavaScript代码,首先要作的就是对
- 之前用小程序做项目,因为后台使用的java开发,一切顺利,但切换成django做RESTful API接口时,在登陆注册时一直出现问题,网上
- 代码如下:declare @cmd nvarchar(4000) set @cmd = N'exec [?].sys.sp_chan
- 为了得到更加清晰的图像我们需要通过技术对图像进行处理,比如使用对比度增强的方法来处理图像,对比度增强就是对图像输出的灰度级放大到指定的程度,
- 1、背景由于办公需要“每天定时推送某消息用来提醒群里面所有人”,于是决定用企业微信自带的机器人来实现此功能。具体方法我来一一讲述。2、企业微
- UTC时间转换,最终得到的都是UTC时间。简单来说就是:时间戳(timestamp) 转换-> UTC显示时间(datetime),使
- 本文实例讲述了Python实现迭代时使用索引的方法。分享给大家供大家参考,具体如下:索引迭代Python中,迭代永远是取出元素本身,而非元素
- 我很久前在YAHOO上扣的代码,兼容性很好,在Windows下的主流浏览器中可以正常运行。大家先不要急着下载代码,你随时都可以下,我们来分
- 在编写爬虫爬取数据的时候,因为很多网站都有反爬虫措施,所以很容易被封IP,就不能继续爬了。在爬取大数据量的数据时更是瑟瑟发抖,时刻担心着下一
- 本文实例讲述了Python使用lambda表达式对字典排序操作。分享给大家供大家参考,具体如下:lambda表达式也常用于字典排序,既然写到
- 在开始之前,先问问大家:什么是百度Aip模块?百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中本文写的是使用百度AI的**在
- 最近在研究Hacker News API时遇到一个HTTPS问题。因为所有的Hacker News API都是通过加密的HTTPS协议访问的
- 强大的group by 代码如下:select stdname, isnull(sum( case stdsubject whe
- 情境问题小王是一名法务专员,工作中会处理所在公司的侵权事件并向侵权方发送法务函。他会按照【法务函模板.docx】 Word 文件给【封号名单
- 安装anaconda 是自动集成的如果导入不存在,直接pippip install tqmd参数#参数介绍iterable=None,des
- 项目整体布局创建并进入项目文件夹:$ mkdir flask-tutorial$ cd flask-tutorial接下来按照 安装简介 设
- 前言本博客默认读者对神经网络与Tensorflow有一定了解,对其中的一些术语不再做具体解释。并且本博客主要以图片数据为例进行介绍,如有错误
- 导言在前面的两篇教程中,我们看到了如何在单一页面中显示主/从报表, 它使用DropDownList显示主记录,使用GridView或Deta