python程序的三种控制结构
程序的三种控制结构
什么是控制结构?
"""
程序有三种基本结构组成:顺序结构、分支结构、循环结构。任何程序都是由这三种基本结构组成。
顺序结构是程序按照线性顺序依次执行的一种运行方式。
分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式。
循环结构是程序根据条件判断结果向后执行的一种运行方式。
"""
程序的分支结构
单分支结构:if
"""
python中分支结构使用if保留字对条件进行判断,使用方法:
if <条件>:
<语句块>
其中,if、:、<语句块>、前的缩进都是语法的一部分
例如:判断一个数字的大小
a = 1
b = 2
if a < b:
print("True")
<条件>可以是一个或者多个条件,多个条件间采用and或or进行逻辑组合。and表示多个条件“与”的关系,or表示多个条件“或”的关系。
例如:判断用户输入数字的特性
a = eval(input("请输入一个数字:"))
if a % 3 == 0 and a% 5 == 0:
print("这个数字既能被3整除,也可以被5整除")
print("输入的数字是:",s)
请输入一个数字: 10
输入的数字是: 10
请输入一个数字:15
这个数字既能被3整除,也可以被5整除
输入的数字是: 15
"""
二分支结构:if-else
"""
python的二分支结构使用if-else保留字对条件进行判断,语法格式如下:
if <条件>:
<语句块1>
else:
<语句块2>
<语句块1>在if<条件>中满足即为True时执行,<语句块2>在if<条件>中不满足即为False时执行,简单来说,二分支结构根据条件True或False结果产生两条路径。
例如:
a = eval(input("请输入一个数字:"))
if a % 3 == 0 and a% 5 == 0:
print("这个数字既能被3整除,也可以被5整除")
else:
print("这个数字既不能被3整除,也不可以被5整除")
print("输入的数字是:",s)
请输入一个数字:15
这个数字既能被3整除,也可以被5整除
输入的数字是: 15
请输入一个数字:11
这个数字既不能被3整除,也不可以被5整除
输入的数字是: 11
"""
三分支结构:if-elif-else
"""
python的三分支结构使用if-elif-else保留字对条件进行判断,语法格式如下:
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
elif <条件3>:
<语句块3>
.
.
else:
<语句块n>
多分支结构通常用于判断同一个条件或者一类条件的多个执行路径。
例如:
a = eval(input("请输入你的成绩:"))
if a > 90:
print("优秀")
elif a > 80:
print("良好")
elif a >= 60:
print("及格")
else:
print("不及格")
请输入你的成绩:100
优秀
请输入你的成绩:85
良好
请输入你的成绩:60
及格
请输入你的成绩:50
不及格
"""
遍历循环:for
python语言中的循环结构分为:遍历循环和无限循环两种,遍历循环使用保留字for依次提取遍历结构各元素进行处理,无限循环使用保留字while根据判断条件执行程序。
在学习for循环时我们要理解,什么是for循环,循环就是重复做某件事,for循环时python提供第二种循环机制,为何要有for循环,理论上for循环能做的事,while循环都可以做,之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁。
"""
for 变量名 in 可迭代对象:
可迭代对象可以是:列表、字典、字符串、元组、集合
遍历循环:for
遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。
for <循环变量> in <遍历结构>:
<语句块>
例如:
for a in "python":
print(a)
p
y
t
h
o
n
或者:
for a in range(3):
print(a)
0
1
2
"""
遍历结构还有一种扩展结构
"""
for <> in <>:
<语句块1>
else:
<语句块2>
"""
当for循环正常执行之后,程序会继续执行else语句中内容,else语句只在循环正常执行之后才执行并结束,所以,可以在<语句块2>中放置评价循环执行情况的语句
for循环和if结构连用:
用户登录:当名字输入错误或密码输入错误时,重新输入,当名字以及密码输入错误达到三次,程序结束
name = "佩奇"
password = "123"
for i in range(3):
id_name = input("请输入你的名字:")
id_password = input("请输入你的密码:")
if id_name == name and id_password == password:
print("登录成功")
break
else:
print("输入次数三次,程序结束")
结果:
请输入你的名字:aa
请输入你的密码:123
请输入你的名字:bb
请输入你的密码:123
请输入你的名字:cc
请输入你的密码:123
输入次数三次,程序结束
Process finished with exit code 0
无限循环:while
"""
python通过保留字while实现无限循环,基本使用方法如下:
while <条件>:
<语句块>
例如:
n = 0
while n <10:
print(n)
n = n + 3
结果:
0
3
6
9
当程序执行到while语句时,判断条件如果为True,执行循环体语句,语句结束后返回再次判断while语句的条件,当条件为False时,循环终止,执行与while同级别缩进的后续语句。
无限循环也有一种使用保留字else的扩展模式:
while <条件>:
<语句块1>
else:
<语句块2>
"""
循环控制有两个辅助循环控制的保留字:break和continue
break用来跳出最内层for或while循环,脱离该循环后程序继续执行循环后续代码。
例如:
while True:
s = input("请输入姓名:")
if s == "q":
break
print("输入的名字是" ,s)
print("程序退出")
结果:
请输入姓名:佩奇
输入的名字是 佩奇
请输入姓名:乔治
输入的名字是 乔治
请输入姓名:q
程序退出
如果有2层或多层循环,break退出最内层循环。
而continue用来结束当前当次循环,即跳出循环体中,执行下面尚未执行的语句,但不跳出当前循环。
例如:
for s in 'python':
if s == 'y':
continue
print(s,end='')
结果:pthon
"""
总结:continue语句和break语句的区别是:continue语句只结束本次循环,不终止下面程序的运行,而break语句直接结束整个当前循环。
强调:在continue之后添加同级代码毫无意义,因为永远无法运行
"""
while死循环与效率问题:
"""
count = 0
while count < 5:
print(count)
会一直0循环下去
while True:
input("输入姓名:")
不会终止,但是不会引发效率问题
while True:
1 + 1
一直不停的工作,纯计算无io的死循环会导致致命的效率问题,了解即可,不要实验(费电脑)
"""
while循环嵌套,每一层都必须配一个break
例如:
"""
while True:
while True:
while True:
break
break
break
"""
while循环和if结构连用:
用户登录:当名字输入错误或密码输入错误时,重新输入,当名字以及密码输入成功时,登录成功那个
name = "佩奇"
password = "123"
while True:
id_name = input("请输入你的名字:")
id_password = input("请输入你的密码:")
if id_name == name and id_password == password:
print("登录成功")
break
else:
print("重新输入")
请输入你的名字:乔治
请输入你的密码:123
重新输入
请输入你的名字:佩奇
请输入你的密码:123
登录成功
python程序的三种控制结构的更多相关文章
- python程序的三种执行结构
一.分支结构:根据条件判断的真假去执行不同分支对应的子代码 1.1 if判定 完整语法如下: if 条件1: #条件可以是任意表达式,如果条件1为True,则依次执行代码. 代码1 代码2 ... e ...
- 周一02.3运行python程序的两种方式
一.运行python程序的两种方式 方法一:交互式: 优点:输入一行代码立刻返回结果 缺点:无法永久保存代码 方法二: ...
- 操作系统+编程语言的分类+执行python程序的两种方式+变量
1.什么是操作系统? 操作系统就是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序. 2.为何要操作系统? a.把复杂的硬件操作封装成简单的功能\接口用来给用户或者程序来使用(文件) b.把 ...
- day05-1 执行Python程序的两种方式
目录 执行Python程序的两种方式 第一种:交互式 第二种:命令行式 三个步骤 两种方式的区别 执行Python程序的两种方式 第一种:交互式 在cmd中运行 优点:直接给出结果,执行效率高,及时报 ...
- Tomcat部署发布JSP应用程序的三种方法 (转)
Tomcat部署发布JSP应用程序的三种方法 1.直接放到Webapps目录下 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...
- python中的三种输入方式
python中的三种输入方式 python2.X python2.x中以下三个函数都支持: raw_input() input() sys.stdin.readline() raw_input( )将 ...
- 执行Go程序的三种方式及Go语言关键字
执行 Go 程序的三种方式及 Go 语言关键字 执行 Go 程序的三种方式 一.使用 go run 命令 二.使用 go build 命令 Step1. 对 go 源码源文件执行 go build 命 ...
- python—字符串拼接三种方法
python—字符串拼接三种方法 1.使用加号(+)号进行拼接 字符串拼接直接进行相加就可以,比较容易理解,但是一定要记得,变量直接相加,不是变量就要用引号引起来,不然会出错,另外数字是要转换为字 ...
- ubuntu下安装程序的三种方法
引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用 ...
随机推荐
- Python_opencv库
1.车牌检测 ''' 项目名称:opencv/cv2 车牌检测 简介: 1.训练级联表 ***.xml [跳过...] 2.用如下代码加载级联表和目标图片识别车牌 注:推荐用anconda安装open ...
- python request 请求https报错问题
旁边大佬让我重新写一个某XX监控脚本 需要请求https遇到了如下的问题 花了一下午解决这个问题... 害太菜,.... 遇到的问题: requests.post 发送https请求的时候 ...
- 【转】AWVS扫描小技巧
1.文件头加 Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html) 可以绕过狗,waf ...
- swlib
Swoole人性化组件库 ~ Swoole Humanization Component Library
- Flink处理函数实战之五:CoProcessFunction(双流处理)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 使用Camtasia制作魔性抖肩舞视频
最近一首风魔各大视频网站的魔性舞蹈又来袭了!这首充满魔性节奏的舞蹈就是抖肩舞了,为了将我热爱的抖肩舞视频分享给大家,我必须使用Camtasia教程录制(Windows系统)软件来制作一个魔性抖肩舞视频 ...
- 2个快速制作完成一幅思维导图的iMindMap思维导图用法
随着思维导图的流行,与其相关的思维导图制作软件如雨后春笋,纷纷进入我们的视野中,更让人难以选择.那想要入门的萌新该如何开始这个新的旅途呢? 各式各样的思维导图制作软件当中,有一个软件得到了大家一致的好 ...
- 「LOJ 6287」诗歌
题面 LOJ 6287 Solution 枚举中间点\(j\),题目即求是否存在\(m\)使\(a[j]-m\)与\(a[j]+m\)分别在\(j\)两侧. 对于\(j\)左侧任意一个点\(i\),都 ...
- 蓝桥杯——分组比赛(2017JavaB组第3题)
分组比赛(17JavaB3) 9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 标记运动员为 A,B,C,... I 下面的程序列出了所有的分组方法: ABC DEF GHI ABC D ...
- ESP8266 ESP-01制作B站粉丝计数器 | Arduino IDE开发ESP8266 | ESP8266存储读取用户数据
1.实物图 2.原理图 3.Arduino程序 在程序中修改自己的B站UID和自己家的WiFi名称及密码即可. /*B站粉丝计数器*/ /******************************* ...