Python第四章-流程控制
流程控制
在以前的代码中,所有的代码都是交由 Python 忠实地从头执行到结束。但是这些远远不够。很多时候需要根据不同的情况执行不同的代码。
如果你想改变这一工作流程,应该怎么做?
就像这样的情况:你需要程序作出 一些决定,并依据不同的情况去完成不同的事情,例如依据每天时间的不同打印出 '早上好' 'Good Morning' 或 '晚上好' 'Good Evening'?
需要用到流程控制!
python 共提供了 3 种流程控制: if、while、for...in
一、分支语句
所谓分支语句,就是条件满足,才会执行某个分支。
if 翻译成中文就是如果的意思。
在各大编程语言里面,if 语句应该是最为著名的语句。
if 用来判断一个条件是否为 True , 如果是 True 执行相应的代码,如果是 False 执行另外的代码(else 语句,可选)。
1.1 if语句用法
语法:
if 条件:
#代码块1
elif 条件:
#代码块2
elif ...
else:
#代码块3
说明:
- python 的语法结构与其他语言差别很大。python 完全是靠缩进来组织代码结构。
if、elif、else代码行结束的时候要使用: if后面跟的是条件,如果是true就执行代码块1。代码块1相比if一定要缩进,才能算是if代码块中的内容。缩进的时候,建议总是以 4 个空格为单位。 把编辑器或者IDE 工具的tab键设置为 4 个空格。- 如果
if后面的条件是False,则会判断紧接着的elif的条件,如果是True则执行代码块2。否则就继续判断后面的条件。 - 如果前面的所有条件都是
False,则 执行else中的代码块 3。 elif、else语句是可选的。可以只有if, 但是不能只有elif或else- 条件理论上可以是任意类型的,
False、0、[]、{}、()、""、None当做False来用,其余做True来用。 但是在使用的时候最好直接用True 或 False - 一旦有一个代码块执行结束后,整个
if语句也就运行行结束了。
num = 50
# 把从键盘读取到的字符串形式的数字,转换成整数
guess = int(input("请输入一个1-100的整数"))
if guess > 50:
print("你输入的是", guess, "比", num, "大了!")
elif guess == 50:
print("你输入的是", guess, "恭喜你猜对了!")
else:
print("你输入的是", guess, "比", num, "小了!")
结果:



1.2 if语句嵌套
if 语句也可以嵌套。嵌套的时候一定要注意缩进!_
# 下面的代码从键盘输入三个整数,然后判断并输出最大值
num1 = int(input("请输入第 1 个整数:"))
num2 = int(input("请输入第 2 个整数:"))
num3 = int(input("请输入第 3 个整数:"))
if num1 > num2:
if num1 > num3:
print("你输入的最大值是:" + str(num1)) # str()函数,可以把其他类型数据转换成字符串
else:
print("你输入的最大值是:" + str(num3))
else:
if num2 > num3:
print("你输入的最大值是:" + str(num2))
else:
print("你输入的最大值是:" + str(num3))
python 中没有 switch 语句。因为 switch 能做的, if 都可以做。 python 的设计理念就是精简!有一种方法能做的,绝不会提供第二种方法!
二、循环语句
在编程中还有一个更重要的需求,就是重复的执行一些动作。这个时候就需要用到循环语句。
python 共提供了 2 种循环语句。 while 循环和 for...in 循环。
while 用来做一些通用性的循环。 而 for...in 用来迭代对象(列表、元组、集合等)中的内容。
我们今天只学习 while , for...in 待讲完数据结构之后再进一步学习。
2.1 while 基本用法
while 循环语法:
while 条件:
#循环体
else:
#条件为 False 时执行
说明:
while的条件与if的条件是一样的。- 执行流程:先判断
while后的条件,如果是True则开始执行循环体,执行完毕后,再去判断 条件,如果True继续执行循环体... while中的else是可选的。这和其他语言的很大的区别,其他的语言中while中没有else。 当while中的条件为False时,开始执行else中语句。- 如果提供了
else语句,则else语句一定执行。除非你是通过break语句退出的循环。
# 输出 0 - 9
i = 0
while i < 10:
print(i)
i = i + 1
else:
print("else 语句:" + str(i))
2.2 break
break 用在循环中(while 和 for...in 都可以用),用于提前结束整个循环。
有一点需要注意:如果是 break 结束的循环,else 语句也不会执行。
i = 0
while i < 10:
print(i)
i = i + 1
if i == 6:
break
else:
print("else 语句:" + str(i))

2.3 continue
continue 用来提前结束本轮循环,然后继续判断,开始下一轮循环。
break 语句和 continue 语句的区别:
就像在打游戏循环赛,break 是彻底退出比赛,洗洗睡觉。continiue 是在打的过程中提前把这个一局比赛结束,然后开始下一局比赛。
# 输出偶数
i = 0
while i < 10:
i = i + 1
if i % 2 == 1:
continue # 如果是奇数,则结束本轮循环,本轮后面的 print() 方法不再执行。
print(i)
else:
print("else 语句:" + str(i))
Python第四章-流程控制的更多相关文章
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- C#入门经典第四章-流程控制-1
布尔类型:
- 疯狂JAVA——第四章 流程控制与数组
4.5 数组类型 数组也是一种类型.它本身是引用类型.例如int是一种基本类型,int[]就是引用类型. 两种定义数组的方式: 1.type[] arrayName; 2.type arrayName ...
- Python分支结构与流程控制
Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...
- 简学Python第四章__装饰器、迭代器、列表生成式
Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群 群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...
- Excel VBA入门(四)流程控制2-循环控制
所谓循环控制,即在循环执行一段代码,用于完成一些重复性任务. VBA中的循环控制语句主要有3种:for.while.loop.对于大多数人来说,for的使用频率最高,而我个人也觉得for是最为灵活的, ...
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
- 【Python】Java程序员学习Python(六)— 流程控制、异常处理
和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...
- 基础补充(四)——流程控制之if、while、for,break与continue
流程控制 一.流程控制之if……else…… if 条件1: 缩进的代码块 elif 条件2: 缩进的代码块 elif 条件3: 缩进的代码块 ...... else: 缩进的代码块 二.流程控制之 ...
随机推荐
- CPU踩点图
CPU占比探测用js来检查当前系统cpu的占用比例,通过 setTimeout 的方式探测 CPU 的大小,这样可以实现网页游戏中动画等耗时操作的自动调节.这个原理是很多人都知道的,就是用JS来踩点. ...
- Vimium - 让你体验Geek般的浏览体验
相信很多电脑高手们都会寻找一一些快捷高效的操作方式,如经常利用键盘的快速操作,让你脱离鼠标,可以让你不用花太多精力地去移动细小的指针进行操作,使得工作的效率提高许多. 不过,实际上很多时候我们还是不得 ...
- 【桌面篇】Archlinux安装kde桌面
ArchLinux安装配置手册[桌面篇] 现在你的U盘可以拔掉了,重启后会发现和刚刚没什么区别,还是命令行的界面,别着急现在就带你安装桌面环境. 连接网络 首先检查一下网络是否连接成功 ping ww ...
- django之学习前的准备
一.配置环境 Windows 10操作系统 Python安装配置教程参考:https://www.cnblogs.com/huangbiquan/p/7784533.html 安装Python虚拟环境 ...
- sql--测试商品的重要度,是否需要及时补货
表1:商品表 表2:商品售卖表 需求:算出商品的平均点击率.平均销售.商品受欢迎度 1.使用inner join查出每件商品的点击率和销售额度 ) as selas from test a left ...
- sublime Text3 前端常用插件
sublime Text3 前端常用插件 - File Switching (文件切换) --- Sublime Text提供了一个非常快速的方式来打开新的文件.只要按下Ctrl+ P并开始输入你想要 ...
- 零基础HTML及CSS编码总结
任务目的 针对设计稿样式进行合理的HTML架构,包括以下但不限于: * 掌握常用HTML标签的含义.用法 能够基于设计稿来合理规划HTML文档结构 理解语义化,合理地使用HTML标签来构建页面 掌握基 ...
- 【猫狗数据集】pytorch训练猫狗数据集之创建数据集
猫狗数据集的分为训练集25000张,在训练集中猫和狗的图像是混在一起的,pytorch读取数据集有两种方式,第一种方式是将不同类别的图片放于其对应的类文件夹中,另一种是实现读取数据集类,该类继承tor ...
- 实验一 Linux系统与应用准备
实验一 Linux系统与应用准备 项目 内容 作业归属 班级课程 作业要求 课程作业要求 学号-姓名 17041419-刘金林 作业学习目标 1.学习博客园软件开发者学习社区使用技巧和经验:2.学习M ...
- 快速排序python实现总结
背景:数据结构与算法是IT相关的工程师一直以来的基础考察重点,很多经典书籍都是用c++或者java来实现,出于对python编码效率的喜爱,于是取search了一下python的快排实现,发现大家写的 ...