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方法 使用 ...
随机推荐
- redis源码学习之slowlog
目录 背景 环境说明 redis执行命令流程 记录slowlog源码分析 制造一条slowlog slowlog分析 1.slowlog如何开启 2.slowlog数量限制 3.slowlog中的耗时 ...
- HarmonyOS Java UI之StackLayout布局示例
StackLayout简介 StackLayout意为堆叠布局,用于在屏幕上保留一个区域来显示组件,实现特殊的功能.通常,堆叠布局中只应该放置一个子组件,如果存在多个子组件,则显示最新的组件.这个布局 ...
- CorelDRAW常用工具之涂抹工具
CDR作为绘图软件或者说平面设计软件使用频繁的功能之一,就是为绘制好的图片进行涂抹混色. 1.基本操作 CorelDRAW平面设计软件的涂抹工具是在形状工具组里的,打开左侧工具栏"形状&qu ...
- U盘数据丢失怎么办,还能恢复吗
有时候在用U盘的时候会出现数据丢失或者U盘无法打开的问题,检查过之后,发现U盘格式变成了RAW,这是怎么回事?遇到这种情况该怎么解决呢? 首先来看看造成u盘格式变为RAW的主要原因: 1.非正常退出u ...
- ②SpringCloud 实战:引入Feign组件,完善服务间调用
这是SpringCloud实战系列中第二篇文章,了解前面第一篇文章更有助于更好理解本文内容: ①SpringCloud 实战:引入Eureka组件,完善服务治理 简介 Feign 是一个声明式的 RE ...
- java多线程--【Foam番茄】
进程 是系统资源分配的单位 线程 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义.线程是cpu调度和执行的单位 注意:很多多线程是模拟出来的,真正的多线程是指有多 ...
- 【mq读书笔记】定时消息
mq不支持任意的时间京都,如果要支持,不可避免的需要在Broker层做消息排序,加上持久化方面的考量,将不可避免地带来巨大的性能消耗,所以rocketMQ只支持特定级别的延迟消息. 在Broker短通 ...
- CentOS 7防火墙的关闭与开启
(1)CentOS 7.0默认使用的是firewall作为防火墙:若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙: systemctl stop firewalld.service ...
- xios封装
封装的意义 1.提高代码可读性2.提高代码可维护性3.减少代码书写 封装 import axios from 'axios' axios.defaults.baseURL = 'http://127. ...
- gsap基础一[from,to,fromTo]
学了几天基础了,感觉总算有点入了一个门的感觉啦,gasp不难,想想一年前我看着官网跟天文一样,今年真的进步很大,在外网发现学习的新世界, 自己的获取知识和查看api源码的能力也增强了许多,现在国内的气 ...