文章目录
1 流程概述
所谓的流程,即程序执行的过程。之前我们接触的程序,都是按部就班,自顶而下的去执行的,我们称这种程序结构为顺序结构。
程序的三种结构:
- 顺序结构
- 选择结构
- 循环结构
2 选择结构
2.1 if
缩进的语法
缩进大小随意,但是要保持一致。按照惯例,使用4个空格。
num=int(input("请输入你的彩票号:"))
if num==123:
print("恭喜你中了500W")
2.2 if-else
提供两条分支。
num=int(input("请输入你的彩票号:"))
if num==123:
print("恭喜你中了500W")
else:
print("再接再厉")
2.3 if-elif
注意多选择分支时,分支顺序的重要性。【分两种情况】
输入学生的成绩,根据成绩输出对应的等级。
#60以下不及格,60-80及格,80以上优秀
score=int(input("请输入成绩:"))
if 60 > score:
print("不及格")
elif 60 <= score <= 80:
print("合格")
elif 80 <= score <= 100:
print("优秀")
2.4 if-elif-else
else为最后一条分支
score=float(input("请输入成绩:"))
if 0 <= score <60:
print("不及格")
elif 60 <= score <= 80:
print("及格")
elif 80 <= score <= 100:
print("优秀")
else:
print("输入有误")
2.5 if-else简化版
if-else简化版类似于其他语言中的三元运算符。格式如下:
表达式1 if 条件表达式 else 表达式2
其中,条件表达式执行条件判断,如果条件表达式的值为True,则返回表达式1的值,否则返回表达式2的值。
q = "yes" if 2>1 else "no"
print(q)
2.6 if嵌套
if是可以进行嵌套使用的,用来多层选择分支的判断。
性别:男-》开发组,女-》测试组
开发:经验大于5年(开发经理),否则(开发组员)。
测试:有过开发经验(白盒),否则(黑盒)
a = input("请输入性别:")
if a=="男":
b = int(input("请输入工作时间:"))
if b >= 5:
print("开发经理")
else:
print("开发组员")
else:
c = input("有无开发经验?(y/n)")
if c=="y":
print("白鹤测试")
else:
print("黑河测试")
3 循环结构
循环就是重复性的执行一件相同或相似的事情(执行多次)。
在控制台上输出5行*号。
3.1 for
range函数,对可迭代对象中的每一个值赋值给in前面的变量,然后执行一次循环体。注意range函数三个参数的使用。
# 打印5遍print("*")
#for 循环变量 in 序列
#range()包头不包尾
for x in range(0,5):
print("*")
3.2 while
while 条件:
循环体
要写初始值、界限、变量
# 打印5遍 ***
x=1
while x <= 5:
x +=1
print("***")
#输入一个数,求它的阶乘
# for in 循环
x = int(input("输入一个数:"))
s = 1
for i in range(1,x+1):
s* = i
print(x,"的阶乘是:",s)
# while循环
start = int(input("input:"))
multi = 1 #乘积初始值
index = 1 #阶乘起始1
while index <= start:
#multi = multi * index
multi *=index
#index = index + 1
index +=1
print(start,"的阶乘是:",multi)
3.3 循环嵌套
循环嵌套,是指外层循环的内部,还有内层循环,即内层循环作为外层循环的循环体。当循环嵌套时,外层循环每执行一次,内层循环都会完整的执行一轮(内层循环有多少次就执行多少次)。如果外层循环会执行m次,内层循环会执行n次,则总共会执行m * n次。
- 打印*图形的金字塔
#外层循环,控制行数
for i in range(1,6):
#内层循环,控制每行*的个数
for j in range(1,i+1):
#因为print()自带一个\n,会默认换行,所以通过end="",取消自动换行
print("*",end = "")
# 每行执行完后换行
print()
# 不使用嵌套
for i in range(6):
print("*"*i)
# result
*
**
***
****
*****
3.4 break与else
break只能用在循环中。
循环跳出,不再执行。
- 为什么要使用break?
else可以跟随在for或while循环之后,当循环正常执行完毕,会执行else语句,如果循环非正常执行完毕,而是通过break跳出循环,则else语句块不会得到执行。else语句是可选的。
# break
while True:
num = int(input("请输入一个数:"))
if num == 1:
break
else:
pass
print("继续输入")
print("条件满足,跳出循环不执行!")
3.5 continue
continue只能用在循环语句中。
跳出当前循环,继续执行下次循环。
break与continue基本只会用在选择判断中。无条件的break与continue虽然语法上没有错误,但从实际的角度来说是没有意义的。
# continue
while True:
num = int(input("请输入一个数:"))
if num == 1:
continue
else:
pass
print("继续输入!")
print("条件满足,跳出循环不执行!")
从上例可以看出,使用continue只是跳出了当前的循环,然而并没有结束程序,而是从头开始重新执行;而break找到了满足条件的值,直接跳出整个循环,结束程序