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方法 使用 ...
随机推荐
- rinetd小工具
一.介绍 tcp端口转发工具,针对ip:port的 连接进行转发.重点开源,且配置简单.不支持ftp,因为ftp要使用多个端口. 1.转发规则 [root@master tmp]# cat a.con ...
- jquery 的 change() 方法的使用
w3c 中的定义:链接 <a>http://www.w3school.com.cn/jquery/event_change.asp<a> jQuery 事件 - change ...
- SQL注入学习-Dnslog盲注
1.基础知识 1.DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 ...
- 【建议收藏】阿里P7总结的Spring注解笔记,把组件注册讲的明明白白
环境搭建 注解的方式是通过配置类的方式来注入组件,注解注入要比XML注入的方式简单,注解注入也需要在前者的基础上,添加一个spring-context的包,也是实际开发中常用的方式. 准备所需Jar包 ...
- Codeforces741D
dsu on tree 题目链接 点我跳转 题目大意 一棵根为 \(1\) 的树,每条边上有一个字符(\(a-v\)共\(22\)种) 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经 ...
- react-hash-calendar,移动端日期时间选择插件
按照惯例,先上效果图 vue 版本同款日历:https://github.com/TangSY/vue-hash-calendar react-hash-calendar 支持手势滑动操作 上下滑动 ...
- window consul安装和运行
consul 前言 一.consul是什么? 二.使用步骤 1.安装 2.启动 结束~~ 前言 刚开始接触spring cloud,其中就有用到consul,简单介绍一下以及怎么安装运行起来 提示:以 ...
- Windows10下的MediaWiki的部署启动
MediaWiki是使用PHP开发的,PHP是比较成熟的Web脚本语言,要想运行基于PHP的程序,你需要配置PHP的运行环境.MediaWiki使用数据库来保存数据等信息,支持MySQL和Postgr ...
- jdk1.8hashmap常见的面试问题
1.HashMap原理,内部数据结构? 底层使用哈希表(数组加链表)来存储,链表过长会将链表转成红黑树,以实现在O(logn)时间复杂度内查找 2.讲一下HashMap中的put方法过程? 对key求 ...
- 解决:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve ...