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)
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
结果:
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语句怎么用python
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
登录成功
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论