流程控制

流程控制具体是指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到if判断)、循环结构(用到while与for)

一、分支结构

  1、什么是分支结构

    分支结构就是根据条件的真假去执行不同分支对应的子代码

  2、如何使用分支结构

    2.1、if语法

      if 条件:

        代码块

        ...

 

      if 条件1:

        代码块1

      else:    #条件1不成立时候要执行的代码

        代码块2

 

      if 条件1:

        代码块1

      elif 条件2:

        代码块2

      elif 条件3:

        代码块3

        ...

      python是用相同缩进(四个空格表示一个缩进)来表示一组代码块,同一组代码会自上而下顺序执行

      条件可以是任意表达式,但结果必须是布尔类型

      在if判断中所有的数据类型都会转化为布尔类型

      None,0,空(空字符串,空列表,空字典等)三种情况下转化为布尔类型都是False,其余都为True

    2.2、应用例子

      同一个代码结构里面只会执行一个

# 判断成绩

#判断成绩,如果成绩大于等于60,打印及格
score = 70
if score >= 60:
    print("分数及格")

#判断成绩,小于60,打印不及格,否则及格
score = 70
if score < 60:
    print("分数不及格")
else:
    print("分数及格")

#判断成绩,小于60,打印不及格,60-70--->C,70-80--->B,80-100--->A
score = 70
if score >=80:
    print("成绩为A")
elif score >= 70:
    print("成绩为B")
elif score >= 60:
    print("成绩为C")
else:
    print("分数不及格")
            """
            模拟认证功能:
                1、接收用户的输入
                2、判断用户的输入解果
                3、返回数据
            """
            db_username = 'sean'
            db_password = '123'

            username = input("please input your username>>:")
            password = input("please input your password>>:")

            if username == db_username and password == db_password:
                print('登录成功')
            else:
                print("登录失败")

二、循环结构

  循环结构就是重复执行某段代码,有两种循环语法,分别是while和for

  1、while循环语法

    while 条件:    #条件成立就会一直执行

      代码块

 

    while运行步骤:

      如果条件为真,那么依次顺序执行代码块

      执行完毕后,会再次判断条件,成立就继续执行,不成立就退出循环结束

    

 

     while + continue:跳过本次循环,执行下一次循环

             continue下面管有多少行代码,都不会执行

     while + break:结束本层循环,结束的是当前的while

            只能结束一层循环

     while + else:当程序正常执行结束,就会执行else下面的代码块

           当被break结束循环就不会执行

 

"""
模拟认证功能:
   1、接收用户的输入
   2、判断用户的输入解果
   3、返回数据
   4、登录成功后执行指令,有退出操作
   5、登录错误超过3次,锁定用户
"""

db_usename = "yang"
db_password = "123"
count = 0
flag = True

while flag:
    usename = input("输入登录名:")
    password = input("输入密码:")
    if usename == db_usename and password == db_password:
        print(f"欢迎{usename}登录成功")
        while flag:
            cmd = input("输入指令(输入q/Q退出):")
            print(f"执行{cmd}指令")
            if cmd == 'q' or cmd == 'Q':
                flag = False
    else:
        print(f"用户名{usename}不存在或者密码不正确,请重新输入!")
        count += 1
        if count > 3:
            print("锁定账户!")
            flag = False

  2、for循环语法

    for循环给我们提供了一种不依赖于索引的取值方式

    语法结构:

      for 变量 in 容器类型:

        代码块

    容器对象中有几个值,就循环几次

    range方法:有三个参数,分别是start(默认为0)、end、sep(默认为1)

          range(5)---->[0,1,2,3,4]

# 打印数字0-5
for i in range(6):
    print(i)   

    for + continue

    for + break

    for + else

    参考while

    for循环的嵌套:

# 打印乘法表
for i in range(1,10):
    for j in range(1,i + 1):
        print(f"{i} X {j} = {i*j}",end = "")
    print()
# 遍历字典
d1 = {"name":"abc","age":18}
for i in d1:
    print(i)        # 打印的是key值
    print(d1[i])    # 打印value值

 

posted @ 2019-11-04 16:35  treeter  阅读(221)  评论(0编辑  收藏  举报