当前位置:首页>python>Python 编程题笔记|筛选超预算戏服数据

Python 编程题笔记|筛选超预算戏服数据

  • 2026-09-05 22:45:54
Python 编程题笔记|筛选超预算戏服数据

📝 题目背景

蜀锦属于世界级非物质文化遗产,不同戏服的刺绣、配饰工艺差异大,造价差距明显。工坊需要筛选出造价超过预算上限的戏服,单独建台账管理。

输入规则

  1. 循环录入戏服信息,每行 3 项内容:戏服名称、表演行当、造价整数,以空格隔开;
  2. 当单独输入大写字母N,停止录入戏服数据;
  3. N
    的下一行输入一个整数,代表预算上限。

输出规则

  • 把所有造价>预算上限的戏服原样输出整行内容,保持原本空格格式;
  • 没有符合条件的数据,直接输出固定语句:无符合条件的戏服数据;
  • 不能额外加序号、括号、货币单位等多余内容。

数据范围

戏服数量:1<=数量 <=1000

样例演示

样例 1 输入

男蟒 武生 3200女帔 花旦 1800官服 老生 2500N2000

样例 1 输出

男蟒 武生 3200官服 老生 2500

样例 2 输入

短打 丑角 1000水袖 青衣 1500N3000

样例 2 输出

无符合条件的戏服数据

🧠 解题思路拆解(零基础也能看懂)

很多新手一开始会踩坑:拆分输入再重新拼接输出,容易把空格格式打乱。最优解法是直接保存原始输入行:

  1. 建立空列表,用来存储每一行戏服原始内容;
  2. 循环读取输入行,如果读到N,结束戏服录入;否则把该行加入列表;
  3. 读取预算上限并转为整数;
  4. 遍历列表里每一行戏服:拆分取出造价,判断造价是否超过预算,满足就直接打印原始行;
  5. 设置标记变量,如果全程没有打印任何戏服,就输出无符合条件的提示。

💻 完整可运行代码

# 存储所有戏服原始行数据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("无符合条件的戏服数据")

⚠️ 新手高频易错点整理

  1. 不要拆分后拼接输出
    直接存储、打印原始行,就能完全保留输入的空格格式,避免格式出错;
  2. 结束判断要精准
    必须整行等于N才停止,不能判断行里是否包含 N,防止戏服名称带字母 N 提前终止录入;
  3. 输入顺序不能乱
    先录入所有戏服→输入 N→再输入预算上限;
  4. 勿忘空结果场景
    一定要设置标记变量,没有匹配数据时输出指定文字,不能什么都不输出。

✅ 代码测试说明

拿样例 1 测试:预算上限 2000,3200、2500 都大于 2000,原样输出两行;

样例 2 预算上限 3000,两件戏服造价都低于上限,触发标记变量,输出固定提示语。

最新文章

随机文章