目录

  • 前言
    • ●  Python解释器安装
    • ●  PyCharm开发环境
  • Python程序设计实验
    • ●  实验1 IDLE与代码编写规范
    • ●  实验2 输入输出与数据类型
    • ●  实验3 字符串处理
    • ●  实验4 数据运算
    • ●  实验5 列表与元组应用
    • ●  实验6 字典与集合应用
    • ●  实验7 if语句与match语句
    • ●  实验8 使用循环语句
    • ●  实验9 异常处理
    • ●  实验10 函数应用
    • ●  实验11 类的应用
    • ●  实验12 模块应用
    • ●  实验13  应用re模块
    • ●  实验14 文件处理
    • ●  实验15 用户界面设计
    • ●  实验18 SQLite数据库应用
    • ●  理论考试模拟试题A
    • ●  理论考试模拟试题B
    • ●  理论考试模拟试题C
    • ●  理论考试模拟试题D
  • 学习参考
    • ●  01 Python及其IDLE环境
    • ●  02 Python代码规范
    • ●  03 常量和变量
    • ●  04 输入输出
    • ●  05 运算符
    • ●  06 数值类型
    • ●  07 字符串
    • ●  08 列表
    • ●  09 元组
    • ●  10 字典
    • ●  11 集合
    • ●  12 条件语句
    • ●  13 循环语句
    • ●  14 异常处理
    • ●  15 自定义函数
    • ●  16 内置函数
    • ●  17 模块导入与定义
    • ●  18 math模块
    • ●  19 os模块
    • ●  20 time模块
    • ●  21 random模块
    • ●  22 文本文件
    • ●  23 二进制文件
    • ●  24 类的创建和使用
    • ●  25 类的继承与多态
 实验7 if语句与match语句

教学视频-->>


任务1 简单if语句

要求:

1、输入 3 个数值,输出其最小值。

2、必须使用 if...else 语句。

3、程序保存到:s7t1.py。

4、程序执行效果:

输入三个数值:23,55,-9

23,55,-9中的最小值为-9

【参考与提示】

1、input 函数返回的是字符串(无论输入什么数据)。如输入 “23,55,-9”,则函数的返回值是 “23,55,-9”。要得到输入的三个数值,可使用 eval 函数。如 eval ("23,55,-9") 的返回值为 (23,55,-9)。

2、运算符 “>” 或 “<” 可比较数值大小。

求解思路:假定求 m,n,k 的最小值。

1、先将 m,n的较小者赋给x。

2、如果 k<x,则将k的值赋给x。


要求:

1、输入 3 个数值,输出其最小值。

2、必须使用 if 语句(不能使用 else 子句)

3、程序保存到:s7t1.py。

4、程序执行效果:

输入三个数值:23,55,-9

23,55,-9 中的最小值为-9

【参考与提示】

1、input 函数返回的是字符串(无论输入什么数据)。如输入 “23,55,-9”,则函数的返回值是 “23,55,-9”。要得到输入的三个数值,可使用 eval 函数。如 eval ("23,55,-9") 的返回值为元组 (23,55,-9)。

2、运算符 “>” 或 “<” 可比较数值大小。

求解思路:假定求 m,n,k 的最小值。

1、先假定 m 的值较小:x=m。

2、如果 n<x,则将 n 的值赋给 x (使用 if 语句)。

3、如果 k<x,则将 k 的值赋给 x (使用 if 语句)。


任务2 if…else语句的使用

要求:

1、程序运行时输入一个正整数,判断这个整数是奇数还是偶数。

2、必须使用 if...else 语句。

3、程序保存到:s7t2.py

4、程序执行效果 1:

输入一个正整数:2024

2024是偶数

5、程序执行效果 2:

输入一个正整数:2023

2023是奇数

【参考与提示】

关联知识点:

1、if...else 语句语法格式:

if A:

  B

else:

  C

作用:A为真执行语句B,否则执行语句C。

2、运算符 "%"可计算两个数数值相除的余数。

 

任务 3 if...elif...else语句的使用

要求:

1、程序运行时输入一个字符串。如果字符串未包含英文单引号则输出 "None";如果字符串包含英文单引号但不匹配则输出"NoMatch"。否则输出 "Match"。

2、使用if...elif...else 语句。

3、程序保存到:s7t3.py

4、程序执行效果:

输入字符串:Practice' makes perfect

NoMatch

【参考与提示】

1、在if...elif...else 语句中,elif 子句可以多次使用;而 else 子句是最后一个子句,只能使用最多一次。

2、利用字符串的内置函数 count 可以统计单引号出现的次数。如果出现的次数是正偶数,则单引号是匹配的。


 任务4 if语句的嵌套

要求:

1、程序运行时依次输入西瓜的纹理(A、B、C分别表示模糊、一般、清晰)、根蒂(A、B、C分别表示蜷缩、稍蜷、硬挺)、色泽(A、B、C分别表示青绿、乌黑、浅白)、触感(A、B分别表示软粘、硬滑)来判断西瓜的好坏。判断标准:

(1)纹理B,触感A:好瓜

(2)纹理C,根蒂A:好瓜

(3)纹理C,根蒂B,色泽A:好瓜

(4)纹理C,根蒂B,色泽B,触感B:好瓜

(5)其他情形:坏瓜

2、程序保存到:s7t4.py

3、程序执行效果1:

依次输入纹理,根蒂,色泽,触感:CABA

好瓜

4、程序执行效果2:

依次输入纹理,根蒂,色泽,触感:AABA

坏瓜

【参考与提示】

求解思路:

1、利用input函数得到输入的数字串s。

2、根据s[0]、s[1]、s[2]和s[3]的值,利用if语句进行判断输出。




要求:

1、程序运行时输入三角形的3条边长。

2、输出这个三角形是直角、锐角或钝角三角形。不能组成三角形则输出"ERROR"。

3、程序保存到:s7t4.py

4、程序执行效果1:

输入边长:1,2,3

ERROR

5、程序执行效果2:

输入边长:3,4,5

直角三角形

【参考与提示】

1、正数a,b,c能组成三角形   <=>   最大值小于另2个值之和。

2、设a为最大边,则最大角的余弦值的符号就是b*b+c*c-a*a的符号。该符号为正,则为锐角三角形。符号为负,则为钝角三角形。否则为直角三角形。

3、eval函数可将3个数值组成的字符串转换为数值。如:a,b,c=eval("3,4,5")。

求解思路:

1、由input函数得到输入的数值串。

2、由eval函数将数值串转换为3个数值。

3、求3个数值的最大值a,其他数值为b、c。

4、如果a>=b+c,不能组成三角形,输出ERROR。

5、计算最大解的余弦符号x=b*b+c*c-a*a

(1)x>0:为锐角三角形

(2)x<0:为钝角三角形

(3)x=0:为直角三角形


任务5 match语句的使用

要求:

1、程序运行时输入成绩([0,100]上的整数),输出成绩评定结果。不检查输入数据的有效性。评定方法:

成绩<60:    C

60<=成绩<80:  B

成绩>=80:  A

2、必须使用match语句。

3、程序保存到:s7t5.py

4、程序执行效果1:

输入成绩:76

评定=B

5、程序执行效果2:

输入成绩:89

评定=A

【参考与提示】

求解思路:

1、利用input函数获得输入的数字串s。

2、利用match语句,将s逐一匹配case子句后的字符,输出评定结果。

结构化模式匹配是Python3.10引入的一项新特性,提供了一种更简洁、更具表达力的方式来处理基于数据结构的条件判断。其语法格式为:

match A:

    case B1:

        C1

    ……

    case _:

        D

根据A的值从上而下逐一匹配。如果存在匹配则执行对应的子句。否则执行D语句。




要求:

1、程序运行时依次输入点的横坐标和纵坐标,判断点的位置(第1象限、第2象限、第3象限、第4象限)。不考虑坐标轴上的点。

2、必须使用match语句。

3、程序保存到:s7t5.py

4、程序执行效果:

输入点的坐标:3,7

第1象限

【参考与提示】

求解思路:

1、利用 input 函数获得输入的数值串s。

2、利用 eval 将 s 转换为坐标 x,y。

3、计算 m=(x>0,y>0)。

4、利用 match 语句,将 m 逐一匹配 case 子句后的元组,输出判断结果。需匹配 (1,1)、(0,1)、(1,0) 和 (0,0) 四种情形。