资源简介 / 让教学更有效 精品试卷 | 信息第2课 课后练习(答案版 · 教师用)班级:____________ 姓名:____________ 得分:__________一、填空(每空 3 分,共 24 分)1.在 if 条件: 后面,被控制的语句必须 ______________(缩进 / 顶格)。2.elif 的意思是 ______________。3.判断两个数是否相等,要用 ______________( = 还是 == )。4.判断「a 大于 0 而且 b 大于 0」,应写成 a > 0 ______________ b > 0。5.判断「a 是 5 或者 a 是 10」,应写成 a == 5 ______________ a == 10。6.not (a > b) 等价于 a ______________ b。7.闰年的判断口诀是:四年一闰,__________________,四百年再闰。8.一个完整的 if / elif / else 语句中,else 最多出现 ______________ 次。二、判断对错(每题 3 分,共 12 分)1.if x > 5: 后面的冒号可以省略。( )2.if 和 else 的缩进可以不一样,只要程序能运行。( )3.多分支中,只要有一路条件成立,后面的分支就不会再执行了。( )4.要判断三个数能否构成三角形,只需写一条 a + b > c 就够了。( )三、★ 改错题(每题 6 分,共 18 分)第 1 题 下面的程序想判断成绩是否及格,请指出错误并改正。score = int(input("请输入成绩:"))if score >= 60print("及格")elseprint("不及格")错误:________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________第 2 题 下面的程序想输出成绩等级,但结果不对。score = int(input("请输入成绩:"))if score >= 60:print("C")elif score >= 80:print("B")elif score >= 90:print("A")else:print("D")问题:当输入 95 时,程序会输出 ______________,这是错误的。原因是:____________________________________________________________________________________________________________________________正确顺序应该是:________________________________________________________________________________________________________________________________________________________________________________第 3 题 下面的程序想判断是否为等腰三角形,但对 1、1、5 给出了错误答案。a = int(input()); b = int(input()); c = int(input())if a == b or a == c or b == c:print("等腰三角形")else:print("普通三角形")问题:输入 1、1、5 时程序输出 ______________,但 1、1、5 ____________(能不能)构成三角形。改正方法:应该在判断等腰之前,先判断 ______________________________。四、★★ 编程题(每题 10 分,共 20 分)第 1 题 智能饮料售卖机饮料机里有三种饮料:1 号——可乐 3 元;2 号——雪碧 3 元;3 号——矿泉水 2 元。用户先选饮料编号,再输入投入的钱数。程序判断:· 钱不够 → 输出「钱不够,无法购买。」· 钱刚好 → 输出「购买成功,请取走饮料。」· 钱多了 → 输出「购买成功,找零 X 元。」______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________第 2 题 成绩等级输入一个成绩(0~100),按下列规则输出等级:90 及以上 → A;80~89 → B;60~79 → C;60 分以下 → D。________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________五、★★★ 挑战题(16 分)输入年份和月份,输出这个月有多少天。规则:1、3、5、7、8、10、12 月有 31 天;4、6、9、11 月有 30 天;2 月闰年 29 天、平年 28 天。____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________自测数据(做完后请自己验证):年 份 月 份 应有天数2024 2 292023 2 282000 2 291900 2 28教师评语:____________________________________________________________________________________________________________________________________第 2 课 参考答案(教师用)与《教师参考答案》册同源,全部数值均已实际运行核验一、填空1.缩进 2.否则如果(前面所有条件都不成立时再判断这一条) 3.==4.and 5.or 6.<=(not (a > b) 等价于 a <= b)7.百年不闰 8.1(一个 if/elif/else 里 else 最多一次,且必须放最后)二、判断对错1. 冒号不能省2. 同一层的 if / elif / else 必须对齐,缩进错了要么报错要么逻辑跑偏3. 4. 三条不等式都要写:a + b > c and a + c > b and b + c > a三、★ 改错题第 1 题 缺冒号、缺缩进。改正:score = int(input("请输入成绩:"))if score >= 60:print("及格")else:print("不及格")第 2 题 输入 95 会输出 C。原因:多分支从上往下判断,score >= 60 先成立,95 被它拦住,后面的 >= 80、>= 90 根本没机会判断。正确顺序应从高到低:>= 90 → A,>= 80 → B,>= 60 → C,else → D。第 3 题 输入 1、1、5 会输出「等腰三角形」,但 1+1 = 2 < 5,不能构成三角形。改正:先判断 a + b > c and a + c > b and b + c > a,满足才继续判断是等腰还是普通,否则输出「不能构成三角形」。四、★★ 编程题第 1 题 智能饮料售卖机:num = int(input("请选择饮料(1可乐 2雪碧 3矿泉水):"))money = int(input("请输入投入的钱:"))if num == 1 or num == 2:price = 3else:price = 2if money < price:print("钱不够,无法购买。")elif money == price:print("购买成功,请取走饮料。")else:print(f"购买成功,找零{money - price}元。")第 2 题 成绩等级:见 第二课/1成绩等级.py。五、★★★ 挑战题year = int(input("请输入年份:"))month = int(input("请输入月份:"))if month in (1, 3, 5, 7, 8, 10, 12):days = 31elif month in (4, 6, 9, 11):days = 30else:if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:days = 29else:days = 28print(f"{year}年{month}月有{days}天")自测:2024/2 → 29 2023/2 → 28 2000/2 → 29 1900/2 → 28(1900 年不是闰年,这是「百年不闰」的关键考点)。若学生还没学 in,可写成 month == 1 or month == 3 or ...。21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)21世纪教育网(www.21cnjy.com)/ 让教学更有效 精品试卷 | 信息第2课 课后练习(学生用)班级:____________ 姓名:____________ 得分:__________一、填空(每空 3 分,共 24 分)1.在 if 条件: 后面,被控制的语句必须 ______________(缩进 / 顶格)。2.elif 的意思是 ______________。3.判断两个数是否相等,要用 ______________( = 还是 == )。4.判断「a 大于 0 而且 b 大于 0」,应写成 a > 0 ______________ b > 0。5.判断「a 是 5 或者 a 是 10」,应写成 a == 5 ______________ a == 10。6.not (a > b) 等价于 a ______________ b。7.闰年的判断口诀是:四年一闰,__________________,四百年再闰。8.一个完整的 if / elif / else 语句中,else 最多出现 ______________ 次。二、判断对错(每题 3 分,共 12 分)1.if x > 5: 后面的冒号可以省略。( )2.if 和 else 的缩进可以不一样,只要程序能运行。( )3.多分支中,只要有一路条件成立,后面的分支就不会再执行了。( )4.要判断三个数能否构成三角形,只需写一条 a + b > c 就够了。( )三、★ 改错题(每题 6 分,共 18 分)第 1 题 下面的程序想判断成绩是否及格,请指出错误并改正。score = int(input("请输入成绩:"))if score >= 60print("及格")elseprint("不及格")错误:________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________第 2 题 下面的程序想输出成绩等级,但结果不对。score = int(input("请输入成绩:"))if score >= 60:print("C")elif score >= 80:print("B")elif score >= 90:print("A")else:print("D")问题:当输入 95 时,程序会输出 ______________,这是错误的。原因是:____________________________________________________________________________________________________________________________正确顺序应该是:________________________________________________________________________________________________________________________________________________________________________________第 3 题 下面的程序想判断是否为等腰三角形,但对 1、1、5 给出了错误答案。a = int(input()); b = int(input()); c = int(input())if a == b or a == c or b == c:print("等腰三角形")else:print("普通三角形")问题:输入 1、1、5 时程序输出 ______________,但 1、1、5 ____________(能不能)构成三角形。改正方法:应该在判断等腰之前,先判断 ______________________________。四、★★ 编程题(每题 10 分,共 20 分)第 1 题 智能饮料售卖机饮料机里有三种饮料:1 号——可乐 3 元;2 号——雪碧 3 元;3 号——矿泉水 2 元。用户先选饮料编号,再输入投入的钱数。程序判断:· 钱不够 → 输出「钱不够,无法购买。」· 钱刚好 → 输出「购买成功,请取走饮料。」· 钱多了 → 输出「购买成功,找零 X 元。」______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________第 2 题 成绩等级输入一个成绩(0~100),按下列规则输出等级:90 及以上 → A;80~89 → B;60~79 → C;60 分以下 → D。________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________五、★★★ 挑战题(16 分)输入年份和月份,输出这个月有多少天。规则:1、3、5、7、8、10、12 月有 31 天;4、6、9、11 月有 30 天;2 月闰年 29 天、平年 28 天。____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________自测数据(做完后请自己验证):年 份 月 份 应有天数2024 2 292023 2 282000 2 291900 2 28教师评语:____________________________________________________________________________________________________________________________________21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)21世纪教育网(www.21cnjy.com) 展开更多...... 收起↑ 资源列表 第2课 分支结构——让程序会判断课后练习(学生用).docx 第二课课后练习(答案版).docx