二级 Python 综合应用题

高仿模拟练习,完整编写程序并运行出结果,答案点击按钮展开

143综合应用题:销售数据 CSV 统计

sales.csv 每行三列:商品名,销售数量,单价(逗号分隔,无表头)。 请编写完整程序,完成: 1) 计算所有商品总销售额(=数量×单价之和),保留 2 位小数; 2) 找出销售额最高的商品名称及销售额; 3) 按销售额降序输出前 3 名商品名称(多个用换行)。

# sales.csv 示例内容:
# 苹果,50,8.5
# 香蕉,30,3.2
# 橙子,40,6.0
# 葡萄,20,15.0
# 西瓜,10,30.0
with open("sales.csv") as f:
    rows = []
    for line in f:
        line = line.strip()
        if not line:
            continue
        name, qty, price = line.split(",")
        qty = int(qty)
        price = float(price)
        total = qty * price
        rows.append( (name, total) )

# 请在下面编写完整程序:计算总销售额、找销售额最高、输出销售额降序前3名
参考答案
# 计算总销售额
total_all = sum(t for _, t in rows)
print("{: .2f}".format(total_all))
# 找销售额最高的商品
best_name, best_total = rows[0]
for name, t in rows:
if t > best_total:
best_name, best_total = name, t
print(best_name)
print("{: .2f}".format(best_total))
# 销售额降序排序,输出前3名商品
rows_sorted = sorted(rows, key=lambda x: x[1], reverse=True)
for name, _ in rows_sorted[:3]:
print(name)
解析

文件逐行 split(",") 拆 3 列;用 list 存 (name, 销售额)元组。

总销售额 sum() ;max可以用遍历比较;降序用 sorted(key=lambda..., reverse=True)。

示例总销售额=946.00;销售额最高的是西瓜300.00;降序前3:西瓜、苹果、葡萄。

试题及答案仅供练习参考,不保证完全准确,正式考试请以NCRE官方教材及官方内容为准。

©2026 NCRE二级题库 版权所有