详解Python中的分支和循环结构


Posted in Python onFebruary 11, 2020

一.条件语句

条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立。程序根据判断结果,执行不同的操作,这样就可以改变代码的执行顺序,从而实现更多的功能。

Python中条件语句通常有if语句、if-else语句和if-elif-else语句。

1.if语句

if结构:满足条件就执行某个操作,不满足就不执行。语法: if 条件语句: 

代码段

# 如果num是奇数打印'奇数'
num = 11
if num % 2 !=0:
 print('奇数')

运行结果:

奇数 1

2.if-else语句

if-else结构:满足条件执行某个操作,不满足条件的时候执行另外一个操作。

语法:if

条件语句:

代码段1(满足条件要执行的代码)

 

else:

代码段2(不满足条件要执行的代码)

# 根据成绩合格范围打印'合格'或者'不合格'
grade = 96
if grade >= 60:
 print('合格')
else:
 print('不合格')

运行结果:

合格 1

3.if-elif-else语句

if-elif-else结构:满足不同的条件执行不同的操作,后面的条件是在前面的条件不成立的时候进行判断的。

语法:if 条件语句1:

 代码段1

 

elif 条件语句2:

 代码段2

 

elif 条件语句3:

 

代码段3

 

……

 

else:

 

代码段N

# 根据成绩合格范围打印'优秀(90以上)''合格(60-90)'、'不合格(60以下)'
grade = 96
if grade > 90:
 print('优秀')
elif 60 <= grade < 90:
 print('合格')
else:
 print('不合格')

运行结果:

优秀 1

二.循环语句

循环的意思是让程序重复地执行某些语句。在实际应用中,当碰到需要多次重复地执行一个或多个任务时,可考虑使用循环语句来解决。其特点是在给定条件成立时,重复执行某个程序段。

1.for循环

语法:for 变量名

in 序列:

 

循环体

# 循环十次hello world!
for index in range(10):
 print(index, 'hello world!')

运行结果:

0 hello world! 1 hello world! 2 hello world! 3 hello world! 4 hello world! 5 hello world! 6 hello world! 7 hello world! 8 hello world! 9 hello world!

注释:range函数可以产生指定范围的数字序列,配合for循环使用可以更加方便的控制for循环的循环次数。

1)range(N)---产生0~N-1的数字序列例如:range(3) -> 0,1,2 1)range(M,N)---产生M~N-1的数字序列例如:range(1,4) -> 1,2,3 1)range(M,N,step)---从M开始每隔step产生下一个数字,到N前一个数为止例如:range(0,4,2) -> 0,2

2.while循环

语法:while 条件语句:

循环体

num = 0
while num < 4:
 print('num:',num)
 num += 1

运行结果:

num: 0 num: 1 num: 2 num: 3

for与while的使用情景:

使用for循环情景:1.循环次数确定的时候  2.遍历序列使用while循环情景:1.死循环

2.循环次数不确定的时候

三.循环嵌套

在Python语言中是可以允许在一个循环体里面嵌入另一个循环,例如for-for循环,while-while循环,也可以在while循环中可以嵌入for循环,反之,亦行。

i = 2
while i < 10:
 j = 2
 while j <= i / j:
 if not i % j:
 break
 j = j + 1
 if j > i / j:
 print(i, " 是素数")
 i = i + 1

运行结果:

2 是素数 3 是素数 5 是素数 7 是素数

四.continue、break和pass以及else语句

1.continue语句

作用:是循环体中的关键字,用来跳过当前循环的剩余语句,然后继续进行下一轮循环。

for x in range(4):
 print(x, 'hello')
 if x % 2 == 0:
 continue
 print(x, 'world')

运行结果:

0 hello 1 hello 1 world 2 hello 3 hello 3 world

2.break语句

作用:是循环体中的关键字,用来终止循环语句,即使循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。(如果使用嵌套循环,break语句将停止最深层的循环,并开始执行下一行代码。)

for x in range(4):
 print(x, 'hello')
 if x % 2 == 0:
 break
 print(x, 'world')

运行结果:

0 1

3.pass语句

作用:是空语句,不做任何事情,一般用做占位语句,是为了保持程序结构的完整性。

for x in range(4):
 print(x, 'hello')
 if x % 2 == 0:
 pass
 print(x, 'world')

运行结果:

0 hello 0 world 1 hello 1 world 2 hello 2 world 3 hello 3 world

4.else语句

作用: 可以通过判断else中代码有没有执行来判断循环有没有遇到break。

 1)完整的for循环

2)完整的while循环

for 变量 in 序列:

while 条件语句:

循环体

 循环体

else:

 else:

代码段

 代码段

没有遇到break的情景:

for x in range(4):
 print(x)
else:
 print('hello')

运行结果:

0 1 2 3 hello

遇到break的情景:

for x in range(4):
 print(x)
 break
else:
 print('hello')

运行结果:

0

总结

以上所述是小编给大家介绍的Python中的分支和循环结构,希望对大家有所帮助!

Python 相关文章推荐
从零学Python之入门(四)运算
May 27 Python
玩转python爬虫之cookie使用方法
Feb 17 Python
Python使用正则表达式抓取网页图片的方法示例
Apr 21 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
浅析Python装饰器以及装饰器模式
May 28 Python
Python之列表的插入&amp;替换修改方法
Jun 28 Python
Python从数据库读取大量数据批量写入文件的方法
Dec 10 Python
python调用自定义函数的实例操作
Jun 26 Python
python提取log文件内容并画出图表
Jul 08 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
利用python实现平稳时间序列的建模方式
Jun 03 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 #Python
详解Python的三种拷贝方式
Feb 11 #Python
Python @property原理解析和用法实例
Feb 11 #Python
如何使用Python发送HTML格式的邮件
Feb 11 #Python
python模式 工厂模式原理及实例详解
Feb 11 #Python
Python3搭建http服务器的实现代码
Feb 11 #Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 #Python
You might like
怎样辨别一杯好咖啡
2021/03/03 新手入门
PHP n个不重复的随机数生成代码
2009/06/23 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
PHP生成树的方法
2015/07/28 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
js实现密码强度检验
2017/01/15 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
pyside写ui界面入门示例
2014/01/22 Python
python分布式计算dispy的使用详解
2019/12/22 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
杭州-DOTNET笔试题集
2013/09/25 面试题
典型事迹材料范文
2014/12/29 职场文书
2015年化验员工作总结
2015/04/10 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
幼儿园教师辞职信
2019/06/21 职场文书