和其它编程语言一样,按照执行流程划分,Python 程序也可分为 3 大结构,即顺序结构、选择(分支)结构和循环结构:

  • Python 顺序结构就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码。
  • Python 选择结构也称分支结构,就是让程序“拐弯”,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。
  • Python 循环结构就是让程序“杀个回马枪”,不断地重复执行同一段代码。

    IF分支结构

    在 Python 中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。
    Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句和 if elif else 语句,它们的语法和执行流程如表1所示。
语法格式 执行流程
if 表达式:
代码块
Python流程控制 - 图1
if 表达式:
代码块 1
else:
代码块 2
Python流程控制 - 图2
if 表达式 1:
代码块 1
elif 表达式 2:
代码块 2
elif 表达式 3:
代码块 3
…//其它elif语句
else:
代码块 n
Python流程控制 - 图3

对语法格式的说明:

  • “表达式”可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要它能得到一个值就行。不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假)。
  • “代码块”由具由相同缩进量的若干条语句组成。
  • if、elif、else 语句的最后都有冒号”:”,不要忘记。

【实例1】使用第一种选择结构判断用户是否符合条件:

  1. age = int( input("请输入你的年龄:") )
  2. if age < 18 :
  3. print("你还未成年,建议在家人陪同下使用该软件!")
  4. print("如果你已经得到了家长的同意,请忽略以上提示。")
  5. #该语句不属于if的代码块
  6. print("软件正在使用中...")

【实例2】判断一个人的身材是否合理:

  1. height = float(input("输入身高(米):\n"))
  2. weight = float(input("输入体重(千克):\n"))
  3. bmi = weight / (height * height) #计算BMI指数
  4. if bmi<18.5:
  5. print("BMI指数为:"+str(bmi))
  6. print("体重过轻")
  7. elif bmi>=18.5 and bmi<24.9:
  8. print("BMI指数为:"+str(bmi))
  9. print("正常范围,注意保持")
  10. elif bmi>=24.9 and bmi<29.9:
  11. print("BMI指数为:"+str(bmi))
  12. print("体重过重")
  13. else:
  14. print("BMI指数为:"+str(bmi))
  15. print("肥胖")

练习:输入一个成绩判断是否及格
练习:输入成绩打印定级结果
60l以下:不及格,60~70:一般 70~90:良好 90~100:优秀

while循环

while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。
while 语句的语法格式如下:
这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。

  1. while 条件表达式:
  2. 代码块

while 语句执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块…如此循环,直到条件表达式的值为假(False),才终止循环。
Python流程控制 - 图4
示例:求1+2+3+4+…+100,的和

  1. times = 100
  2. sum = 0
  3. while times:
  4. sum += times
  5. print(sum,times)
  6. times -= 1
  7. print(sum)

for循环

Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

for 循环的语法格式如下:

  1. for 迭代变量 in 字符串|列表|元组|字典|集合:
  2. 代码块

for 循环语句的执行流程如图所示。
Python流程控制 - 图5

打印mlist中的所有成员信息:

  1. m_list = ["apple", "xiaomi", "huawei", "oppo"]
  2. for phone in m_list:
  3. print(phone)

range()函数

作用:用于生成一个整数序列

  • range(stop)

    1. a = range(10)
    2. print(list(a))
  • range(start,stop)

    1. a = range(5, 10)
    2. print(list(a))
  • range(start,stop,step)

    1. a = range(5, 10, 2)
    2. print(list(a))

    示例:求1+2+3+4+…+100,的和

    1. sum = 0
    2. for i in range(100):
    3. sum += i + 1
    4. print("sum:{} i+1:{}".format(sum, i + 1))
    5. print("=========================")
    6. print(sum)

    ※break与continue的区别
    break 终止循环
    continue 继续下一次循环