完善上述代码改进购物车案例,将买书改成买课程,在查看购物车页面里显示购买的课程名、课时数及总金额。请写出相应代码。
时间: 2024-09-23 20:11:36 浏览: 17
首先,我们需要修改现有的购物车类`ShoppingCart`以及添加一个新的商品类型`Course`。假设`Course`有一个属性`courseName`表示课程名称,`lessonCount`表示课时数,`pricePerLesson`表示单节课的价格。以下是代码的改动:
```python
class Course:
def __init__(self, course_name, lesson_count, price_per_lesson):
self.course_name = course_name
self.lesson_count = lesson_count
self.price_per_lesson = price_per_lesson
class ShoppingCart:
def __init__(self):
self.items = []
def add_course(self, course):
self.items.append(course)
def view_cart(self):
total_amount = 0
for item in self.items:
if isinstance(item, Course): # 检查是否是课程
total_amount += item.price_per_lesson * item.lesson_count
print(f"课程名: {item.course_name}, 课时数: {item.lesson_count}, 总金额: {total_amount}")
return total_amount
# 示例
math_course = Course("数学基础", 10, 15)
english_course = Course("英语进阶", 15, 20)
cart = ShoppingCart()
cart.add_course(math_course)
cart.add_course(english_course)
cart.view_cart()
```
在这个例子中,我们创建了`Course`类,并在`ShoppingCart`类中添加了一个处理课程的方法`add_course`。`view_cart`方法现在会打印每个课程的信息并计算总金额。