高仿模拟练习,完整编写程序并运行出结果,答案点击按钮展开
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)
.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)
.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:西瓜、苹果、葡萄。