流程控制

  • 流程: 计算机执行代码的顺序就是流程

  • 流程控制: 对计算机代码执行顺序的管理就是流程控制

  • 流程分类: 流程控制一共分为三类:

    • 顺序结构
    • 分支结构/选择结构
    • 循环结构

分支/选择结构

  • 分支结构一共分为4类:
    • 单项分支
    • 双项分支
    • 多项分支
    • 巢状分支

(1)单项分支

if 条件表达式:
    一条python语句...
    一条python语句...
    ...
  • 特征:
    • if条件表达式结果为真,则执行if之后所控制代码组,如果为假,则不执行后面的代码组(:后面的N行中有相同缩进的代码)
    • :之后下一行的内容必须缩进,否则语法错误!
    • if之后的代码中如果缩进不一致,则不会if条件表达式是的控制,也不是单项分支的内容,是顺序结构的一部分
    • if:后面的代码是在条件表达式结果为真的情况下执行,所以称之为真区间或者if区间、

(2) 双项分支

if 条件表达式:
    一条python语句...
    一条python语句...
    ...
else:
    一条python语句...
    一条python语句...
    ...
  • 特征:
    • 1.双项分支有2个区间:分别是True控制的if区间和False控制的else区间(假区间)
    • 2.if区间的内容在双项分支中必须都缩进,否则语法错误!

(2) 多项分支

if 条件表达式:
    一条python语句...
    一条python语句...
    ...
elif 条件表达式:
    一条python语句...
    一条python语句...
    ...
elif 条件表达式:
    一条python语句...
    一条python语句...
    ...
...
else:
    一条python语句...
    一条python语句...
  • 特征:

    • 1.多项分支可以添加无限个elif分支,无论如何只会执行一个分支
    • 2.执行完一个分支后,分支结构就会结束,后面的分支都不会判断也不会执行
    • 3.多项分支的判断顺序是自上而下逐个分支进行判断
    • 4.在Python中没有switch – case语句。
  • 实例-演示了狗的年龄计算判断:

#!/usr/bin/python3

age = int(input("请输入你家狗狗的年龄: "))
print("")
if age < 0:
    print("你是在逗我吧!")
elif age == 1:
    print("相当于 14 岁的人。")
elif age == 2:
    print("相当于 22 岁的人。")
elif age > 2:
    human = 22 + (age -2)*5
    print("对应人类年龄: ", human)

### 退出提示
input("点击 enter 键退出")
 

(4) 巢状分支

  • 巢状分支是其他分支结构的嵌套结构,无论哪个分支都可以嵌套
# !/usr/bin/python3

num=int(input("输入一个数字:"))
if num%2==0:
    if num%3==0:
        print ("你输入的数字可以整除 2 和 3")
    else:
        print ("你输入的数字可以整除 2,但不能整除 3")
else:
    if num%3==0:
        print ("你输入的数字可以整除 3,但不能整除 2")
    else:
        print  ("你输入的数字不能整除 2 和 3")
 
  • 将以上程序保存到 test_if.py 文件中,执行后输出结果为:
$ python3 test.py 
输入一个数字:6
你输入的数字可以整除 2 和 3