流程控制if、while
2022.3.7学习总结
- 流程控制理论
- if判断
- while循环
- 课堂练习
一、流程控制理论
1、什么是流程控制?
控制事物的执行流程
2、流程控制的分类
2.1 顺序结构
自上而下依次执行,我们一般使用的结构都是顺序结构。
2.2 分支结构
一般遇到判断型的问题才会产生不同的分支和结果
2.3 循环结构
在某种条件下不停重复同样的事,即在该结构下的代码都会反复执行。
3、必知必会
3.1 缩进
python中用缩进来表示代码的从属关系,如下:
if result == True:
print('sorry') # 缩进的代码属于if的子代码
注意:不是所有的代码都可以有子代码,目前学到的有if,elif,else,while,for等
3.2 父代码与子代码
一般python中使用四个空格来进行缩进,父代码下的子代码需保持相同缩进
3.3 从属关系
同一缩进的代码从属关系是一致的,就会按照顺序执行,
如果一行代码的结尾是冒号结束,那么紧挨着的下一行必然自动缩进,冒号的含义相当于拥有子代码。
二、分支结构
1、 单if分支
结构:
if 条件:
条件成立后执行的子代码(可以是多行)
eg:如果一个女孩的年龄大于30,叫阿姨
girl_age = 18 # 先定义女孩的年龄
if girl_age >30: # 设置if+条件
print('阿姨好') # 打印结果
2、 if与else分支
结构:
if 条件:
print('结果1')
else:
print('结果2')
注意:结果1和结果所运行的代码是互斥的!
girl_age = 18 # 先定义女孩的年龄
if girl_age >30: # 设置if+条件
print('结果1') # 打印结果1
else:
print('结果2') # 打印结果2
3、 if与elif与else分支
结构:
if 条件1:
print('结果1')
elif 条件2:
print('结果2')
elif 条件3:
print('结果3')
else:
print('结果4')
注意:elif可以有无数个
girl_age = 18 # 先定义女孩的年龄
if 条件1: # 设置if+条件
print('结果1') # 打印结果1
elif 条件2:
print('结果2') # 打印结果2
elif 条件2:
print('结果3') # 打印结果3
else: # 以上条件都不满足时执行
print('结果4') # 打印结果4
4、 if嵌套
直接举例如下:
girl_age = 18
is_success = True
if girl_age < 22:
print('我觉得你很漂亮,可以交个朋友吗')
if is_success == True:
print('走吧我们去逛一逛吧')
else:
print('去你丫的')
else:
print('不好意思我不认识你')
因此嵌套的关键在于,需不需要新的变量来支撑条件的判断
三、循环结构之while
1、 while结构
while +条件:
循环执行的代码(可以是多行)
while True:
username = input('username>>>:') # 获取用户名
password = input('password>>>:') # 获取用户密码
if username == 'jason' and password == '123': # 嵌套if条件
print('登陆成功') # 打印结果
else:
print('登陆失败') # 打印结果
2、 while + break
break用于结束本层循环,break所在代码块的循环while直接被结束。
while True:
username = input('username>>>:') # 获取用户名
password = input('password>>>:') # 获取用户密码
if username == 'jason' and password == '123': # 嵌套if条件
print('登陆成功') # 打印结果
break # 结束本层while下所有循环的代码
else:
print('登陆失败') # 打印结果
3、 while + countinue
用于结束本层循环,但是循环没有停止运行,只是从头开始,如下:
count = 0
while count < 5:
if count == 3:
print('对不起,您要走了')
count = 4
continue # 结束本层循环,进入下次循环
else:
print('您还可以继续玩')
print(count)
count += 1
四、课堂练习
要求:编写一个猜年龄的游戏
基本要求:
如果不对的情况下可以猜三次 如果对了直接结束
拔高练习:
三次机会用完之后提示用户是否继续猜测 如果用户输入了y
则再给用户三次机会 如果用户输入n则直接结束
我的解答1:
count = 0
while count < 3:
guess_age = input('请输入女朋友的年龄>>>:')
count += 1
if guess_age == '18':
print('猜对了哦,晚上有奖励!')
break
else:
print('你完了,等着罚跪吧!')
while count >= 3:
ask = input('已经三次输入错误,是否继续>>>:')
if ask == 'y':
count -= 3
elif ask == 'n':
print('再见')
break
else:
print('对不起输入错误')
我的解答2:
count = 0
while count < 3:
age = int(input('请输入女朋友的年龄:'))
if age == 18:
print('恭喜你,答对了!晚上有奖励!')
break
else:
print('你完了,等着跪搓衣板吧!')
count += 1
if count >= 3:
ask = input('是否再来3次(是/否):')
if ask == '是':
count -= 3
else:
print('那好吧,再见!')




浙公网安备 33010602011771号