py语言的流程控制理论
py语言的流程控制理论
流程控制就是指控制事物的发展流程。在python当中就是指按照一定的顺序步骤来实现py程序运行的功能。python当中主要的流程控制语句一般有:选择语句、循环语句、跳转语句、pass语句等等。
执行流程按程序结构进行分类包括:
- 顺序结构:顾名思义,即按照程序代码左侧的阿拉伯数字,从上往下依次执行程序。
- 分支结构:也可以说是选择判断的结构,即根据条件的不同,开始分支选择执行不同的流程。分支结构一般包括:if 分支、elif 分支、else 分支等等
- 循环结构:即在一定条件下反复执行某一段程序,这个循环有开始和结束的条件标准。循环结构一般就是while循环结构
-
if 分支结构
即:if是一个逻辑判断条件,条件成立了执行的子代码。
age = 18 if age > 30: print('中年人')
-
if...else分支结构
即:if条件成立了执行a子代码;if条件不成立,else条件成立,然后执行b子代码。
age = 18 if age > 30: print('中年人') else print('年轻人')
-
if...elif...else...分支结构
即:if条件成立了,执行if分支下的子代码;if条件不成立但elif条件成立了,就执行elif分支下的子代码;if条件和elif条件都不成立;执行else分支下的子代码。其中if分支、elif分支、else分支理论上可以有无数种。
username = input('username>>>:') password = input('password>>>:') if username == 'jason' and password == '123': print('登录成功') else: print('账户和密码错误')
score = input('请输入成绩>>>:') if score > '90': print('成绩优秀') elif score > '80': print('成绩良好') elif score > '70': print('成绩一般') elif score > '60': print('成绩及格') else: print('成绩不合格')
note:需要注意的是if的分支结构可以进行嵌套,即if分支下的一个子代码当中也可以存在if分支结构。
score = input('请输入成绩>>>:') if score > '60': if score > '80': print('成绩优秀') else: print('成绩及格') else: print('成绩不合格')
-
while循环结构
顾名思义,即:在while条件成立的条件下可以循环重复执行while循环结构下的子代码,直至不再满足循环执行的条件才能结束。
1.先判断条件是否成立 如果成立则执行循环体代码。
2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码,如果不成立则跳出循环。
sum = 0
n = 0
while n <= 100:
sum = sum + n
n += 1
print(sum)
执行结果: 1+2+...+100= 5050
-
while+break循环结构
break是用于直接结束本层循环,它只能结束break所在的那一层循环。
-
while+continue循环结构
continue是用于结束本次整个while循环,或开始下一次循环。note:直接跳到循环条件判断的地方开始运行程序,并进行下一次条件判断。
python编程语言当中的从属关系
- python语言当中使用缩进来表示代码之间的从属关系,即子代码要在父代码的下面,并且一般进行缩进四个字符。
- 并不是所有的代码都可以拥有子代码,条件判断的分支结构的代码是存在子代码的。
- 如果多行代码属于同一个父代码,那么这多行代码需要保证相同的缩进。
- 具有相同缩进量的代码彼此之间按照顺序结构执行,没有从属关系。
- 如果一行代码的最后以冒号结尾,那么紧接着下一行代码必须进行缩进,这行代码就是上一行代码的子代码。冒号可以看成下一行代码是否是子代码的标志。
作业
编写一个猜年龄的游戏。
基本要求:
如果不对的情况下可以猜三次,如果对了,直接结束。
拔高练习:
三次机会用完之后,提示用户是否继续猜测,如果用户输入了y,则再给用户三次机会;如果用户输入n,则直接结束。
基础:
number = 1 while number < 4: # 循环语句,判断变量number的数值是否小于4,如果小于4就执行循环语句下面的子程序 age = input('age>>>:') # 请猜测此年龄 if age == '20': # if逻辑判断,校验是否为正确答案 print('恭喜您,猜对了') # 答案正确,输出(恭喜您,猜对了) break # break即结束本行循环,即如果答案正确不再进行循环语句内子程序的运行,直接输出结果 else: # else逻辑判断,答案错误执行下面程序 print('很遗憾,鼓励一下') # 答案错误,打印输出(很遗憾,鼓励一下) number += 1 # 增量赋值,即变量number的值+1 continue # 变量number的数值如果不小于4,即循环语句结束循环运行,程序到此结束
提高:
number = 1 # 变量命名 while number < 4: # 循环语句,判断变量number的数值是否小于4,如果小于4就执行循环语句下面的子程序 age = input('age>>>:') # 请猜测此年龄 if age == '20': # if逻辑判断,校验是否为正确答案 print('恭喜您,猜对了') # 答案正确,输出(恭喜您,猜对了) break # break即结束本行循环,即如果答案正确不再进行循环语句内子程序的运行,直接输出结果 else: # else逻辑判断,答案错误执行下面程序 print('很遗憾,鼓励一下') # 答案错误,打印输出(很遗憾,鼓励一下) number += 1 # 增量赋值,即变量number的值+1 continue # 变量number的数值如果不小于4,即循环语句结束循环运行,程序到此结束 while number == 4: # while逻辑判断,判断变量number是否等于4 number_of_time = input('是否继续游戏>>>:') # 获取是否重新开始游戏的数据信息 if number_of_time == 'y': # if条件判断是否选择重新游戏 number1 = 1 # 进行新的一次变量命名,开始新的一次循环 while number1 < 4: # 循环语句,判断变量number1的数值是否小于4,如果小于4就执行循环语句下面的子程序 age = input('age>>>:') # 请猜测此年龄 if age == '20': # if逻辑判断,校验是否为正确答案 print('恭喜您,猜对了') # 答案正确,输出(恭喜您,猜对了) break # break即结束本行循环,即如果答案正确不再进行循环语句内子程序的运行,直接输出结果 else: # else逻辑判断,答案错误执行下面程序 print('很遗憾,鼓励一下') # 答案错误,打印输出(很遗憾,鼓励一下) number1 += 1 # 增量赋值,即变量number1的值+1 continue # 变量number1的数值如果不小于4,即循环语句结束循环运行,程序到此结束 elif number_of_time == 'n': # elif的逻辑判断,获取到不再进行游戏的信息 print('游戏结束,感谢参与')
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步