“掌握这两个经典题型,轻松拿下2026年3月考试!
各位备战Python二级的考生们,我是老马。通过分析近年真题,我发现循环输入与条件判断的组合题型已经成为考试的"常客"。今天我们就来深度解析两个典型题目——球票检票程序和赛项报名统计,帮助大家掌握这一重要考点。
9月底有一场大型的户外表演在体育中心举办,阿宝尝试用Python写一个检票程序,体育中心分为三个区域A区,B区和C区(A\B\C均为大写字母),看台区有1楼、2楼和3楼,球票为5位字符串,分别由字母和数字组成,第一位为大写字母,代表的是区域;第二位是数字,代表的是楼层;第3-5位为座位编号;例如:A2021第一位“A”表示A区,第二位“2”表示所在的楼层是“2楼”后面的是座位号。
具体要求如下:
(1)程序开始时提示:“请输入您的球票编码:”,根据输入的球票编码提示用户所在的观看区域、楼层和座位号;
(2)当输入的球票编码的区域和楼层错误时提示:“您的球票号输入有误,请重新输入”;
(3)当输入“0”,则退出查询,结束程序;
(4)如果没有输入“0”,程序一直可以输入球票编码;
输入样例1:
A2001输出样例1:
您的观看区域是:A区2楼001号座位输入样例2:
b1020输出样例2:
您的票号输入有误,请重新输入!请输入您的球票编码:输入样例3:
0输出样例3:
(直接退出查询,不显示任何数据)
友情提示: 由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
“这个题目要求编写一个体育中心检票程序,根据5位球票编码判断观看区域、楼层和座位号。核心考查点包括:
字符串切片处理 循环输入与退出机制 多条件验证
中国电子学会主办的“全国青少年信息素养大赛”总决赛要开始了,组委会的老师要统计各个赛项报名的人数。请帮着写一个程序,实现该功能:统计时,输入各项编号表示对应的比赛:
1:Python编程挑战赛2:开源鸿蒙主题赛3:智慧物流挑战赛0:表示录入完毕要求:
一、循环执行
二、当输入错误数据,可以提示“没有此编号请重复输入”;
三、当输入0后,自动统计所有项目的参赛人数,并输出出来;如下面的案例:
输入样例:
请输入赛项编号:1请输入赛项编号:2请输入赛项编号:3请输入赛项编号:2请输入赛项编号:1请输入赛项编号:1请输入赛项编号:0输出样例:
Python编程挑战赛:3人开源鸿蒙主题赛:2人智慧物流挑战赛:1人友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
“这个题目需要统计不同赛项的报名人数,根据输入编号进行计数。核心考查点包括:
数字输入的循环处理 条件分支统计 错误输入处理 虽然表面不同,但两者都围绕循环输入与条件验证这一核心技能展开。
两个题目都使用了while True创建无限循环,这是处理重复输入的经典模式:
# 球票检票程序whileTrue: ticket = input('请输入您的球票编码:')if ticket == '0':break# 处理逻辑# 赛项统计程序 whileTrue: n = int(input("请输入赛项编号:"))if n == 0:break# 统计逻辑关键技巧:通过break语句在满足条件时退出循环,避免死循环。
两个题目都强调输入验证,但验证方式不同:
球票程序验证字符串格式:
qu = ticket[:1] # 区域floor = ticket[1:2] # 楼层if (qu in'ABC') and (floor in'123'):# 格式正确else:# 格式错误赛项程序验证数字范围:
if n > 3or n < 0: print("没有此编号请重复输入")continue优先级处理:球票程序需要按顺序检查区域和楼层的有效性。
分支统计:赛项程序使用条件分支或字典进行计数:
# 方法一:列表计数lst = [0, 0, 0, 0]lst[n] += 1# 方法二:字典计数d = {"Python编程挑战赛": 0, "开源鸿蒙主题赛": 0, "智慧物流挑战赛": 0}d["Python编程挑战赛"] += 1# 错误写法:输入0无法立即退出ticket = ""while ticket != "0": ticket = input("请输入球票编码:")# 处理逻辑... 输入0后还会执行一次# 错误写法:未处理非数字输入n = int(input("请输入编号:")) # 如果输入字母会报错正确做法:先验证再转换
data = input("请输入编号:")if data.isdigit(): n = int(data)# 继续处理else: print("输入错误")为了帮助大家巩固知识,我设计了一个综合练习:
题目:学生成绩录入系统 要求循环输入学生成绩(0-100),统计优秀(90-100)、良好(70-89)、及格(60-69)和不及格(0-59)的人数,输入-1结束。
参考实现:
excellent = good = pass_score = fail = 0whileTrue: score_str = input("请输入成绩(-1结束):")if score_str == "-1":breakifnot score_str.isdigit(): print("输入错误,请重新输入")continue score = int(score_str)if score < 0or score > 100: print("成绩应在0-100之间")continueif score >= 90: excellent += 1elif score >= 70: good += 1elif score >= 60: pass_score += 1else: fail += 1print(f"优秀:{excellent}人,良好:{good}人,及格:{pass_score}人,不及格:{fail}人")这个练习综合了循环输入、数据验证、条件判断和统计计数,是检验学习效果的很好方式。
while True + break的循环模式循环输入与条件判断是Python二级考试的重点题型,通过今天对两个典型题目的深度解析,相信大家已经掌握了相关的核心技能。
老马寄语:编程学习就像这些循环程序一样,需要反复练习和调试。每个错误都是进步的机会,每次调试都是思维的锻炼。希望大家在备考路上保持耐心,脚踏实地!
距离2026年3月考试还有时间,只要按照正确的方法持续练习,一定能取得好成绩。如果在学习过程中遇到问题,欢迎在评论区留言交流。
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
