流程控制

时间:2019-11-15
本文章向大家介绍流程控制,主要包括流程控制使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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()

原文地址:https://www.cnblogs.com/127-2933/p/11867889.html