测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A26000. 购物车系统派森同学用Python语言写了一个简易的购物车系统。这个系统可以存储用户添加到购物车中的商品名称和价格,用空格隔开。用户输入结束后,可以按价格从高到低打印输出购物车清单,最后输出一共有几种商品和总价。请补全横线上的代码,实现该功能。shopping_cart = [] # 初始化购物车列表 print("欢迎使用购物车系统!") print("请输入商品名称和价格,输入'结束'以停止添…

填空题 困难

题目描述

购物车系统

派森同学用Python语言写了一个简易的购物车系统。这个系统可以存储用户添加到购物车中的商品名称和价格,用空格隔开。用户输入结束后,可以按价格从高到低打印输出购物车清单,最后输出一共有几种商品和总价。请补全横线上的代码,实现该功能。

shopping_cart = []   # 初始化购物车列表
print("欢迎使用购物车系统!")
print("请输入商品名称和价格,输入'结束'以停止添加。")
while True:
    item = input("请输入商品名称和价格(用一个空格隔开): ")
    if item == '结束':
        break
    name, price = item.split()
    shopping_cart. ______ ① ______  ((name.strip(), float(price.strip())))  #将商品名称和价格以元组的形式添加到购物车列表里
shopping_cart.sort(key=lambda x: x[1], reverse=  ______ ② ______ )  # 按价格从高到低排序
print("\n购物车内容(按价格从高到低):")
# 输出购物车内容
for item in shopping_cart:
    print(f"商品名称: {  ______ ③ ______ }, 价格: {item[1]:.2f}")
# 计算总价
total_price = sum(item[1] for item in shopping_cart)
# 输出一共有几种商品和总价
print(f"\n一共有 { ______ ④ ______ } 种商品,总价为 ¥{total_price:.2f}")

——————示例运行结果————————

欢迎使用购物车系统!

请输入商品名称和价格,输入'结束'以停止添加。

请输入商品名称和价格(用一个空格隔开): 笔记本 3.5

请输入商品名称和价格(用一个空格隔开): 中性笔 8

请输入商品名称和价格(用一个空格隔开): 结束

购物车内容(按价格从高到低):

商品名称: 中性笔, 价格: 8.00

商品名称: 笔记本, 价格: 3.50

一共有 2 种商品,总价为 ¥11.50

参考答案

# 初始化购物车列表 shopping_cart = [] # 提示用户输入商品信息 print("欢迎使用购物车系统!") print("请输入商品名称和价格,输入'结束'以停止添加。") # 循环收集用户输入的商品信息 while True: item = input("请输入商品名称和价格(用一个空格隔开): ") if item == '结束': break name, price = item.split() shopping_cart.append((name.strip(), float(price.strip()))) #将商品名称和价格以元组的形式添加到购物车列表里 shopping_cart.sort(key=lambda x: x[1], reverse=True) # 按价格从高到低排序 print("\n购物车内容(按价格从高到低):") # 输出购物车内容 for item in shopping_cart: print(f"商品名称: {item[0]}, 价格: {item[1]:.2f}") # 计算总价 total_price = sum(item[1] for item in shopping_cart) # 输出一共有几种商品和总价 print(f"\n一共有 {len(shopping_cart)} 种商品,总价为 ¥{total_price:.2f}")

答案解析

评分标准:

(1)append(或等效答案);(2分)

(2)True 或 1(或等效答案);(2分)

(3)item[0](或等效答案);(3分)

(4)len(shopping_cart)(或等效答案)。 (3分)


上一题 下一题