Python程序控制结构(一)


在结构化程序设计中,主要使用3种基本控制结构来构造程序,即顺序结构、选择结构和循环结构。

使用结构化程序设计方法编写出来的程序在结构上具有以下特点:

  • 以控制结构为单位,每个模块只有一个入口和一个出口;
  • 能够以控制结构为单位,从上到下顺序地阅读程序文本;
  • 由于程序的静态描述与执行时的控制流程容易对应,所以阅读者能够方便、正确地理解程序的动作。

1.1 程序控制结构

Python程序具有三种典型的控制结构,如下图所示。

  • 顺序结构:在程序执行时,按照语句的顺序,从上到下,一条一条地顺序执行,是结构化程序中最简单的结构。
  • 选择结构:又称为“分支结构”,分支语句根据一定的条件决定执行哪一部分的语句序列。
  • 循环结构:使同一个语句组根据一定的条件执行若干次。采用循环结构可以实现有规律地重复计算处理。
    程序的3种控制结构

1.2 选择语句

选择语句也称为“条件语句”,就是对语句中不同条件的值进行判断,从而根据不同的条件执行不同的语句。
选择语句可以分为以下3种形式。

  • 简单的 if 语句。
  • if···else 语句。
  • if···elif···else 多分支语句。

1.2.1 if 语句

简单的if语句用于针对某种情况进行相应的处理,通常表现为“如果满足某种条件,那么就进行某种处理”,它的一般形式为:

if 表达式:
	语句块

其中,表达式可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句。如果表达式的值 为真,则执行语句块,如果表达式的值为假,则跳过语句块,继续执行后面的语句,具体流程如下图所示。if语句流程图
【例1-1】使用if语句求出两个数的较小值。

# two_number.py
a, b, c = 4, 5, 0
if a > b :
    c = b
if a < b :
    c = a
print("两个数的较小值是:",c)

运行结果如下:

两个数的较小值是: 4

1.2.2 if···else 语句

“if···else”语句也是选择语句的一种通用形式,通常表现为“如果满足某种条件,就进行某种处理,否则进行另一种处理”,它的一般形式为:

if 表达式:
	语句块1
else:
	语句块2

其中,表达式可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句。如果表达式的值为真,则执行语句块1,如果表达式的值为假,则执行语句块2,具体流程如下图所示。需要注意的是,else不能单独使用,必须和if一起使用。
if···else语句流程图
【例1-2】判断一个数是奇数还是偶数。

# odd_even.py
a = 5
if a % 2 == 0 :
    print("这是一个偶数。")
else :
    print("这是一个奇数。")

运行结果如下:

这是一个奇数。

1.2.3 if···elif···else 多分支语句

“if···else···else”多分支语句用于针对某一事件的多种情况进行处理,通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理”,它的一般形式为:

if 表达式1:
	语句块1
elif 表达式2:
	语句块2
elif 表达式3:
	语句块3
···
else:
	语句块n

其中,表达式可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句。如果表达式1的值为真,则执行语句块1,如果表达式1的值为假,则进人 elif 的判断,依次类推,只有在所有表达式都为假的情况下,才会执行 else 中的语句,具体流程如下图所示。需要注意的是,elif和 else 都不能单独使用,必须和if一起使用。
if···elif···else语句流程图

【例1-3】 判断每天上课的内容。

# lesson.py
day = int(input("请输入第几天课程:"))
if day == 1 :
    print("第1天上数学课")
elif day == 2 :
    print("第2天上语文课")
else :
    print("其他时间上计算机课")

运行结果示例:

请输入第几天课程:11天上数学课

1.2.4 if 语句的嵌套

if 语句、 if···else 语句和 if···elif···else 语句3种选择语句可以相互嵌套。
例如,在最简单的if语句中嵌套if···else语句,形式如下:

if 表达式1if 表达式2:
		语句块1
	else:
		语句块2

再比如,在if···else语句中嵌套if···else语句,形式如下:

if 表达式1if 表达式2:
		语句块1
	else:
		语句块2
elseif 表达式3:
		语句块3
	else:
		语句块4

在开发程序时,需要根据具体的应用场景选择合适的嵌套方案。需要注意的是,在使用语句嵌套时,一定要严格遵守不同级别语句块的缩进规范。

【例1-4】判断是否为酒后驾车。假设规定车辆驾驶员的血液酒精含量小于20mg/100ml不构成酒驾,酒精含量大于或等于20mg/100ml为酒驾,酒精含量大于或等于80mg/100ml为醉驾。

# drunk-driving.py
alcohol = int(input("请输入驾驶员每100ml血液酒精的含量:"))
if alcohol < 20 :
    print("驾驶员不构成酒驾")
else :
    if alcohol < 80 :
        print("驾驶员已构成酒驾")
    else :
        print("驾驶员已构成醉驾")

运行结果示例:

请输入驾驶员每100ml血液酒精的含量:15
驾驶员不构成酒驾

【例1-5】判断数学成绩属于哪个等级。成绩大于等于90分为优,成绩大于等于75分且小于90分为良,成绩大于等于60分并且小于75分为及格,成绩小于60分为不及格。

# math_score.py
math = int(input("请输入数学成绩:"))
if math >= 75 :
    if math >= 90 :
        print("数学成绩为优")
    else :
        print("数学成绩为良")
else :
    if math >= 60 :
        print("数学成绩及格了")
    else :
        print("数学成绩不及格")

运行结果示例:

请输入数学成绩:76
数学成绩为良

【例1-6】判断某一年是否闰年。闰年的条件:(1)能被4整除,但不能被100整除的年份都是闰年,如1996年、2004年都是闰年;(2)能被100整除,又能被400整除的年份是闰年,如2000年是闰年。不符合这两个条件的年份不是闰年。

# year.py
year = int(input("请输入年份:"))
if year % 4 == 0 :
    if year % 100 == 0 :
        if year % 400 == 0 :
            flag = 1
        else :
            flag = 0
    else :
        flag = 1
else :
    flag = 0
if flag == 1 :
    print(year,"年是闰年")
else :
    print(year,"年不是闰年")

运行结果示例:

请输入年份:1998
1998 年不是闰年

参考书籍:
Python程序设计基础教程(微课版) 林子雨 赵江声 陶继平编著

  • 13
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值