📝 题目背景
蜀锦属于世界级非物质文化遗产,不同戏服的刺绣、配饰工艺差异大,造价差距明显。工坊需要筛选出造价超过预算上限的戏服,单独建台账管理。
输入规则
- 循环录入戏服信息,每行 3 项内容:戏服名称、表演行当、造价整数,以空格隔开;
N
输出规则
- 把所有造价>预算上限的戏服原样输出整行内容,保持原本空格格式;
- 没有符合条件的数据,直接输出固定语句:
无符合条件的戏服数据;
数据范围
戏服数量:1<=数量 <=1000
样例演示
样例 1 输入
男蟒 武生 3200女帔 花旦 1800官服 老生 2500N2000
样例 1 输出
样例 2 输入
短打 丑角 1000水袖 青衣 1500N3000
样例 2 输出
🧠 解题思路拆解(零基础也能看懂)
很多新手一开始会踩坑:拆分输入再重新拼接输出,容易把空格格式打乱。最优解法是直接保存原始输入行:
- 循环读取输入行,如果读到
N,结束戏服录入;否则把该行加入列表; - 遍历列表里每一行戏服:拆分取出造价,判断造价是否超过预算,满足就直接打印原始行;
- 设置标记变量,如果全程没有打印任何戏服,就输出无符合条件的提示。
💻 完整可运行代码
# 存储所有戏服原始行数据clothes_list = []while True: current_line = input().strip() # 遇到N结束录入戏服 if current_line == 'N': break clothes_list.append(current_line)# 获取预算上限budget_limit = int(input())# 标记是否存在符合条件的数据have_result = Falsefor line in clothes_list: info = line.split() price = int(info[2]) if price > budget_limit: print(line) have_result = True# 没有符合条件的数据,输出固定语句if not have_result: print("无符合条件的戏服数据")
⚠️ 新手高频易错点整理
- 不要拆分后拼接输出直接存储、打印原始行,就能完全保留输入的空格格式,避免格式出错;
- 结束判断要精准必须整行等于
N才停止,不能判断行里是否包含 N,防止戏服名称带字母 N 提前终止录入; - 输入顺序不能乱
- 勿忘空结果场景一定要设置标记变量,没有匹配数据时输出指定文字,不能什么都不输出。
✅ 代码测试说明
拿样例 1 测试:预算上限 2000,3200、2500 都大于 2000,原样输出两行;
样例 2 预算上限 3000,两件戏服造价都低于上限,触发标记变量,输出固定提示语。