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方法 使用 ...
随机推荐
- 为什么删除的Ceph对象还能get
前言 在很久以前在研究一套文件系统的时候,当时发现一个比较奇怪的现象,没有文件存在,磁盘容量还在增加,在研究了一段时间后,发现这里面有一种比较奇特的处理逻辑 这套文件系统在处理一个文件的时候放入的是一 ...
- 如何获取流式应用程序中checkpoint的最新offset
对于流式应用程序,保证应用7*24小时的稳定运行,是非常必要的.因此对于计算引擎,要求必须能够适应与应用程序逻辑本身无关的问题(比如driver应用失败重启.网络问题.服务器问题.JVM崩溃等),具有 ...
- JWT(JSON Web Token)入门
简介 JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案 一.跨域认证的问题 互联网服务离不开用户认证.一般流程是下面这样. 1.用户向服务器发送用户名和密码. 2.服务器验证 ...
- cakephp中sql查询大于
$list = $this->Capital->find('all', array('conditions'=>array('amount >'=>0)));
- "三剑客"之awk心中无剑
一.awk介绍 awk 是一种程序语言. 它具有一般程序语言常见的功能. 因awk语言具有某些特点, 如 : 使用直译器(Interpreter)不需先行编译; 变量无类型之分(Typeless), ...
- On Starting My Blogging On CNBlogs
About Myself I am a would-be Master of Engineering, on the last year of my student life, I'm ambitou ...
- HBase高级特性、rowkey设计以及热点问题处理
在阐述HBase高级特性和热点问题处理前,首先回顾一下HBase的特点:分布式.列存储.支持实时读写.存储的数据类型都是字节数组byte[],主要用来处理结构化和半结构化数据,底层数据存储基于hdfs ...
- 【电子取证:镜像仿真篇】Windows Server镜像仿真、vmdk镜像仿真
Windows Server镜像仿真.vmdk镜像仿真 时间过得真快呀!--[suy999] Windows Server镜像仿真.vmdk镜像仿真 一.qemu-img镜像转换工具 (一)raw.q ...
- 聊聊ReentrantLock实现原理
ReentrantLock 是常用的锁,相对于Synchronized ,lock锁更人性化,阅读性更强 从LOCK切入 考虑下面的场景如果有A,B线程,同时去执行lock.lock(Lock loc ...
- Java基础教程——抽象类
抽象类 抽象类是介于普通类(class)和接口(interface)之间的一种特殊类. 接口的方法都不实现,类的方法都必须实现,抽象类里的方法可以实现,可以不实现. Java 8之后接口中可以实现方法 ...