Python流程控制
1.1什么是流程控制?
溪流是从源头顺流而下
在Python中流程控制主要有顺序执行、选择执行、循坏执行
·顺序结构就是让程序按照从头到尾的顺序依次执行每一条Python代码,不重复执行任何代码,也不跳过任何代码
·选择结构也称分支结构,就是让程序“拐弯”,有选择性的执行代码;简而言之就是跳过没用代码,只执行有用的代码
·循环结构让程序杀一个回马枪,不断地重复执行同一段代码
if
if...else
if...elif...else
while
while...else
for
for...else
1.1.1伪代码
是一种算法描述语言
根据年龄判断是否成年
age=int(input("请输入你的年龄:"))
if age>=18:
print("成年")
else:
if age>=12:
print("少年")
else:
print("儿童")
请输入你的年龄:18
成年
Process finished with exit code 0
1.1.2流程图
1.2分支结构
Python的开发者有意让违反了缩进规则的程序不能通过编译
if语句表达式代码块:
if else语句表达式代码块:
if elif else语句表达式代码块:
对语法格式的说明:
·表达式可以式一个单一的值或者变量,也可以式有运算符组成的复杂语句,形式不限,只要它能得到一个值就可以
·代码块有具有相同缩进量的若干条语句组成
·if、elif、else语句的最后都有":"
1.2.1 if语句(单向分支)
age=int(input("请输入你的年龄:"))
if age>18:
print("恭喜你可以进入网吧嗨皮了")
请输入你的年龄:28
恭喜你可以进入网吧嗨皮了
Process finished with exit code 0
1.2.2 if…else(双向分支)
age=int(input("请输入你的年龄:"))
if age>18:
print("恭喜你可以进入网吧嗨皮了")
else:
print("不好意思,你还没长大")
请输入你的年龄:15
不好意思,你还没长大
Process finished with exit code 0
1.2.3 if…elif…else(多向分支)
90分以上,优秀
80分以上,良好
70分以上,中等
60分以上,合格
60分一下,不合格
score=int(input("请输入你的成绩:"))
if score>=90:
print("优秀")
elif 80<=score<90:
print("良好")
elif 70<=score<80:
print("中等")
elif 60<=score<80:
print("合格")
else:
print("不合格")
请输入你的成绩:100
优秀
Process finished with exit code 0
1.2.4 if嵌套
if 表达式1:
if 表达式2:
代码块2
else:
代码块3
else:
代码块1
1.2.5 pass关键字的使用
pass起一个占位的作用
score=float(input("请输入你的成绩:"))
if 0<score<=100:
if score<60:
print("不合格")
elif 60<=score<70:
print("合格")
elif 70<=score<80:
pass
elif 80<=score<90:
print("优秀")
else:
pass
else:
pass
请输入你的成绩:75
Process finished with exit code 0
1.2.6三目运算符
是一种极简主义的编程语言,使用三目运算符可以有效的简化代码
a=20
b=10
max=0
if a>b:
max=a
else:
max=b
print(max)
a=20
b=10
max=a if a>b else b
print(max)
20
20
Process finished with exit code 0
s=input("请输入:")
print("ok" if s=="yes" else s)
请输入:123
123
Process finished with exit code 0
1.3循坏结构
循环就是将一段代码不断的重复执行,知道循环结束程序再继续往下执行
1.3.1 while循环
if 条件表达式:
代码块
while 条件表达式:
代码块
while 0<100:
print("hello world!")
i = 0
while i<=100:
i+=1
print("hello world!")
#打印1-100所有数字,使用while循环
i=0
while i<100:
i+=1
print(i)
1.3.2 for循环
#打印房间号
for i in range(0,10):
for j in range(1,10):
print("房间号:"+str(i)+str(0)+str(j))