当前位置: 首页 > news >正文

Python分支结构和循环结构

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

一.分支结构

分支结构是根据判断条件结果而选择不同向前路径的运行方式,分支结构分为:单分支,二分支和多分支。

1)单分支结构

单分支结构是分支结构中最简单的一种方式,它的使用方法如下:

if <条件>:<语句块>

单分支结构只需要判断一个条件,根据这个条件是否成立来决定是否执行一段语句。

实例:猜数字

num_in=eval(input("请输入数字:"))
if num_in==59:print("猜对了")
2)二分支

二分支结构是根据条件判断的不同而选择不同执行路径的一种分支结构,它的使用方法如下:

if <条件>:<语句块1>
else:<语句块2>

二分支结构也只需要判断一个条件,根据这个条件来决定执行的语句块,成立执行语句块1,不成立执行语句块2。

实例:猜数字

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
num_in=eval(input("请输入数字:"))
if num_in==59:print("猜对了")
else:print("猜错了")
3)多分支

多分支结构是根据不同条件来选择语句块运行的一种分支结构,它的使用方法如下:

if <条件1>:<语句块1>
elif <条件2>:<语句块2>
......
else:<语句块n>

多分支结构需要判断多个条件,根据判断当前条件是否成立来决定是否执行当前语句块,当所有条件都不成立时,执行else的语句块。

实例:猜数字

num_in=eval(input("请输入数字:"))
if num_in>59:print("数字大了")
elif num_in<59:print("数字小了")
else:print("数字正确")

二.条件判断

1)条件判断操作符

2)条件组合关键字(Python保留字)

三.异常处理

当使用以下实例时

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
num_in=eval(input("请输入数字:"))
print(num_in)

如果不输入数字,而输入字符串,此时会出现如下报错:

请输入数字:abc
Traceback (most recent call last):File "C:\Users\Administrator\Desktop\hello_world.py", line 1, in <module>  #异常发生的代码行数num_in=eval(input("请输入数字:"))File "<string>", line 1, in <module>

此时就需要使用到Python通过的异常处理的相关机制,异常处理有两种非常基本的使用方法,使用保留字try和except,格式如下:

try:<语句块1>
except <异常类型>:<语句块2>

放在try中的语句块1如果出现异常,将会在except中查找相同的异常类型,执行相应的语句块。

如果except后面不跟随异常类型,那么就必须是最后一个except,表示除以上提到的异常类型,其余的异常都采用这个except的语句块。

实例:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
try:num_in=eval(input("请输入数字:"))print(num_in)
except NameError:print("当前输入不是数字")

异常处理的高级用法使用到了保留字try、except、else和finally,格式如下:

try:<语句块1>
except <异常类型>:<语句块2>
else:<语句块3>
finally:<语句块4>

多出来的else语句块在没有发生异常时执行,finally语句块一定执行。

四.循环结构

循环语句分为:遍历循环和无限循环

1)遍历循环

遍历循环指遍历某一个结构形成的循环运行方式,它的使用方法如下:

for <循环变量> in <遍历结构>:<语句块>

简单说遍历循环是由for in保留字构成的循环结构,它可以从遍历结构中逐一提取元素放到循环变量里。

当遍历结构中的所有元素都放入循环变量,并且都已循环执行之后,那么循环程序退出。

注意:遍历结构不是一种特殊的类型,它可以是range(m,n,k)、字符串、序列等等。

当遍历结构采用range(m,n,k)时,可以称这种遍历循环结构为计数循环,通过range(m,n,k)产生一个数字序列,这个序列包含(n-m)/k个元素,每个元素都是整数。

实例如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> for i in range(5):print(i)
#输出效果如下
0
1
2
3
4
>>> for i in range(1,6,2):print(i)
#输出效果如下
1
3
5

当遍历结构采用字符串时,可以称这种遍历循环结构为字符串遍历循环,循环变量将会遍历字符串的每一个字符。

实例如下:

>>> for i in "Python123":print(i,end=",")
#输出效果如下
P,y,t,h,o,n,1,2,3,

当遍历结构采用列表时,可以称这个遍历结构为列表遍历循环,循环变量将会遍历列表中的每一个元素。

(其他序列也可作为遍历结构)实例如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> for i in [123,"PY",456]:print(i,end=",")
#输出效果如下
123,PY,456,

当变量结构采用文件(标识符)时,可以称这个遍历结构为文件遍历循环,循环变量将会遍历文件的每一行。

一般只要是多个元素组成的数据类型,都可以被采用。

2)无限循环

无限循环是由条件控制的循环运行方式,它的使用方法如下:

while <条件判断>:<语句块>

简单来说,它已经不再是遍历某一个结构,而是根据条件判断来进行循环。

如果这个条件成立,那么下面的语句块就会被执行,执行之后再次判断条件,如果这个条件再次成立,它就会继续再执行下面的语句块,然后再回来判断循环。

所以无限循环是反复执行语句块,直到条件不满足时结束。

实例:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> a=3
>>> while a>0:a-=1print(a)
#输出效果如下

如果不小心写成了死循环,可以使用+退出循环。

3)循环控制保留字break和continue

和其他语言一样,Python通过了两个循环控制保留字break和continue(几乎所有的语言都是这两个)。

break表示结束当前所在循环,continue表示跳过当次循环并不影响循环的继续,它们都可以与for循环和while循环搭配使用。

continue实例:

>>> for c in "PYTHON":if c=="T":continueprint(c,end="")
#输出效果如下
PYHON

break实例:

>>> for c in "PYTHON":if c=="T":breakprint(c,end="")
#输出效果如下
PY

注意:使用break时,注意其所在的循环位置,只跳出break所在的循环。

4)循环的高级用法

循环可以和else搭配使用,else与循环处于同一级,在循环语句之后,使用方法如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
for <循环变量> in <遍历结构>:<语句块1>
else:<语句块2>while <条件>:<语句块1>
else:<语句块2>

无论是for还是while,当循环没有被break保留字退出时(允许存在break),此时执行else的语句块。

简单来讲,else语句块可以作为“正常”完成循环的一种奖励,与异常处理中的else类似。

实例1:

>>> for c in "PYTHON":if c=="T":continueprint(c,end="")
else:print("正常退出")
#输出效果如下
PYHON正常退出

实例2:

>>> for c in "PYTHON":if c=="T":breakprint(c,end="")
else:print("正常退出")
#输出效果如下
PY
尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

http://www.lryc.cn/news/178932.html

相关文章:

  • Unity调用API函数对系统桌面和窗口截图
  • 【问题思考总结】CPU怎么访问磁盘?CPU只有32位,最多只能访问4GB的空间吗?
  • UG NX二次开发(C++)-CAM-根据刀具对程序组进行重新分组
  • Unity如何实现TreeView
  • Android widget 小部件使用指南强化版
  • Linux下C语言操作网卡的几个代码实例?特别实用
  • noip2011选择旅馆
  • vue造轮子完整指南--npm组件包开发步骤
  • 28 drf-Vue个人向总结-1
  • 线性代数(七) 矩阵分析
  • myArm 全新七轴桌面型机械臂
  • tomcat乱码解决
  • 【Linux】详解线程第三篇——线程同步和生产消费者模型
  • k8s 安装
  • 红队打靶:THE PLANETS: MERCURY打靶思路详解(vulnhub)
  • 【网络协议】IP
  • Python 布尔类型
  • iOS设备管理器iMazing比iTunes好用吗?有哪些优势
  • Opengl之深度测试
  • 利用ICG-NH2/Amine进行DNA标记1686147-55-6星戈瑞
  • Pyecharts数据可视化
  • 集合-List集合
  • vuex的使用
  • raw图片处理软件:DxO PhotoLab 6 mac中文版支持相机格式
  • ReactPortals传送门
  • 【GDB】 command 命令
  • 1038 统计同成绩学生
  • git报错:Failed to connect to 127.0.0.1 port 1080
  • php eayswoole node axios crypto-js 实现大文件分片上传复盘
  • 《Upload-Labs》01. Pass 1~13