热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python分支结构和循环结构

一.分支结构分支结构是根据判断条件结果而选择不同向前路径的运行方式,分支结构分为:单分支,二分支和多分支。1)单分支结构单分支结构是分支结构中最简单的一种方式,它的使用方法如下:i

一.分支结构

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

1)单分支结构

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

if <条件>:
<语句块>

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

实例1:猜数字

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

2)二分支

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

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

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

实例2:猜数字

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

3)多分支

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

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

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

实例3:猜数字

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

二.条件判断

1)条件判断操作符
《Python分支结构和循环结构》
2)条件组合关键字(Python保留字)
《Python分支结构和循环结构》

三.异常处理

当使用以下实例时

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 "", line 1, in <module>
NameError: name 'abc' is not defined  #异常类型和异常内容提示

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

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

放在try中的语句块1如果出现异常,将会在except中查找相同的异常类型,执行相应的语句块。如果except后面不跟随异常类型,那么就必须是最后一个except,表示除以上提到的异常类型,其余的异常都采用这个except的语句块。

实例:

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

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

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

2)无限循环

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

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

简单来说,它已经不再是遍历某一个结构,而是根据条件判断来进行循环。如果这个条件成立,那么下面的语句块就会被执行,执行之后再次判断条件,如果这个条件再次成立,它就会继续再执行下面的语句块,然后再回来判断循环。所以无限循环是反复执行语句块,直到条件不满足时结束。

实例:

>>> a=3
>>> while a>0:
a-=1
print(a)
#输出效果如下
2
1
0

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

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

和其他语言一样,Python通过了两个循环控制保留字break和continue(几乎所有的语言都是这两个)。break表示结束当前所在循环,continue表示跳过当次循环并不影响循环的继续,它们都可以与for循环和while循环搭配使用。

continue实例:

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

break实例:

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

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

4)循环的高级用法

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

for <循环变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
while <条件>:
<语句块1>
else:
<语句块2>

无论是for还是while,当循环没有被break保留字退出时(允许存在break),此时执行else的语句块。简单来讲,else语句块可以作为“正常”完成循环的一种奖励,与异常处理中的else类似。

实例1:

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

实例2:

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

推荐阅读
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 2017-2018年度《网络编程与安全》第五次实验报告
    本报告详细记录了2017-2018学年《网络编程与安全》课程第五次实验的具体内容、实验过程、遇到的问题及解决方案。 ... [详细]
  • 微信小程序实现拍照与图片上传功能
    本文介绍如何在微信小程序中实现用户通过拍照或从相册选择图片,并将图片上传至服务器的功能,包括调用相关API和处理上传响应。 ... [详细]
  • 本文探讨了如何使用ls -lsh命令排除总大小输出,仅显示文件大小的方法,并提供了几种实现这一目标的解决方案。 ... [详细]
  • 本文介绍了如何利用Python进行批量图片尺寸调整,包括放大和等比例缩放。文中提供了详细的代码示例,并解释了每个步骤的具体实现方法。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 本文介绍了在Java环境中使用PDFBox和XPDF工具从PDF文件中提取文本内容的方法。重点讨论了处理中文字符集及解决相关错误的技术细节,特别是针对某些特定格式的PDF文件(如网上填写的报名表和下载的论文)遇到的问题及解决方案。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • Android中解析XML文件的实践指南
    本文详细介绍了在Android应用开发中解析XML文件的方法,包括从本地文件和网络资源获取XML文件的不同途径,以及使用DOM、SAX和PULL三种解析方式的具体实现。 ... [详细]
  • 本文探讨了在JavaScript中执行字符串形式代码的多种方法,包括使用eval()函数以及跨页面调用的方法。同时,文章详细介绍了JavaScript中字符串的各种常用方法及其应用场景。 ... [详细]
  • 本文介绍如何在Ubuntu环境下为OpenWrt系统构建并安装首个'Hello World'应用程序的IPK包。文章不仅涵盖了基本的环境搭建,还详细说明了代码编写、Makefile配置及最终的IPK包生成与安装过程。 ... [详细]
  • 本文详细介绍了如何在MFC(Microsoft Foundation Classes)应用程序中使用树形控件(Tree Control)。通过创建基于对话框的应用程序,并逐步添加和配置树形控件,最终实现带有图标的树形结构。 ... [详细]
  • 原文:HowtoSpeedUpLo-Dash×100?IntroducingLazyEvaluation.作者:FilipZawada译文:怎样百倍加快Lo-Dash?引入惰性盘算 ... [详细]
author-avatar
美丽凍人2502938087
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有