python语法入门之流程控制
1、什么是流程控制?
流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构
- 顺序结构
- 分支结构
- 循环结构
分支结构:
分支结构就是根据条件判断的真假去执行不同分支对应的子代码
if语法:
if 条件1: #如果条件1的结果为True,就依次执行:代码1,代码2,......
代码块1
代码块2
.........
elif 条件2 #如果条件2的结果为True,就依次执行:代码3,代码4 ........
代码块3
代码块4
.........
else 条件3 #其他情况,就依次执行:代码5,代码6 ......
代码5
代码6
.......
注意:
1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自下而上依次运行
2、条件可以是任意表达式,但执行结果必须是布尔类型
#在if判断中所有的数据类型也都会自动转换成布尔类型
None 、0 、空(空字符串、空列表、空子典等)代表布尔值中的 False
if 应用案例:
#如果女人的年纪大于30,那么:阿姨好
age_of_girl = 31
if age_of_girl > 30:
print('阿姨好')
# 如果:女人的年龄大于30,那么:叫阿姨,否则:叫小姐姐
age_of_girl = 18
if age_of_girl > 30:
print('阿姨好')
else:
print("小姐姐")
#如果女人的年龄大于等于18并且小于22并且身高大于170并且体重小于100并且是漂亮的,那么:表白,否则:阿姨好
age_of_girl = 18
height = 171
weight = 95
is_beautiful = True
if age_of_girl >=18 and age_of_girl < 22 and height > 170 and weight < 100 and is_beautiful == True:
print('表白')
else:
print('阿姨好')
案例:
如果:成绩>=90,那么:优秀
如果:成绩>=80且<90,那么:良好
如果:成绩>=70且<80,那么:普通
其他情况:垃圾
score = input('>>: ')
score = int(score)
if score >= 90:
print('优秀')
elif score >=80 and score < 90:
print('良好')
elif score >=70 and score < 80:
print('普通')
else:
print('垃圾')
if嵌套:在表白成功的基础上:
如果表白成功,那么:在一起
否则: .......
age_of_girl = 18
height = 171
weight = 95
is_beautiful = True
success = False
if age_of_girl >= 18 and age_of_girl < 30 and height > 170 and weight < 100 and is_beautiful == True:
if success:
print('表白成功,在一起')
else:
print('什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊')
else:
print('阿姨好')
循环结构
1、循环结构就是重复执行某段代码
while循环语法:(while循环称之为条件循环)
while 条件:
代码1
代码2
代码3
......
while 的运行步骤:
步骤1:如果条件为真,那么依次执行:代码1,代码2,代码3, .......
步骤2:执行完毕后再次判断条件,如果条件为Ture则再次执行:代码1、代码2、代码3 .......、如果条件为False,则循环终止
while循环案例:
#用户认证登录
username = 'tom'
password = '147'
input_name = input('请输入用户名:')
input_pwd = input('请输入密码:')
if input_name ==username and input_pwd == password:
print('登陆成功')
else:
print('输入的用户名或密码错误')
如果用户名或密码输错三次锁定
username = 'tom'
password = '147'
count = 0
while count < 3:
input_name = input('请输入用户名:')
input_pwd = input('请输入密码:')
if input_name == username and input_pwd == password:
print('登陆成功')
else:
print('输入的用户名或密码错误')
count += 1
上述案例当我们输入正确时,会一直输入,如何在输入正确后结束循环:
uaername = 'tom'
password = '147'
count = 0
while count < 3:
input_name = input('请输入用户名:')
input_pwd = input('请输入密码:')
if input_name == uaername and input_pwd == password:
print('登录成功')
break
else:
print('输入用户名或密码错误')
count += 1
拓展:如果while循环嵌套很多层,想要退出每一层循环需要在每一层循环都有一个break
while + continue 的使用:
#打印1-10,除7以外的所有数字
number = 11
while number > 1:
number -= 1
if number == 7:
continue
print(number)
注:break 代表结束本层循环,后面的代码都不会再继续执行
continue 用于结束本次循环,直接进入下一次循环
while + else 的使用:
在while循环中,可以跟else 语句,当while循环正常执行完并且中间没有被break终止,就会执行else后面的语句,所以我们可以用else来检测循环是否正常结束
正常结束,没有被打断
count = 1
while count <= 5:
count += 1
print('Loop',count)
else:
print('循环正常执行完')
print('----out of while loop----')
没有正常结束,被打断
count = 0
while count <= 5:
count += 1
if count == 3:
break
print('loop',count)
else:
print('循环正常执行完')
print('----out of while loop----')
for循环
案例:打印0-5
简单版:
for i in range(6):
print(i)
复杂版:
count = 1
while count <6 :
print(count)
count += 1
for循环嵌套:
#请用for循环嵌套的方式打印如下图形:
*****
*****
*****
for i in range(3):
for j in range(5):
print('*',end = '')
print()
#九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(f"{i}x{j}={i*j}",end = ' ')
print()