python的class 类创建、方法调用以及属性赋值

发布于:2024-11-28 ⋅ 阅读:(13) ⋅ 点赞:(0)

题目:购物车系统

创建一个简单的购物车系统,要求如下:

定义一个 Product 类,表示商品,包含以下属性和方法:

属性:
name:商品名称(字符串)
price:商品价格(浮点数)
方法:
init(self, name, price):构造方法,用于初始化商品的名称和价格。
str(self):返回商品的详细信息,格式为:“商品名称: xxx, 商品价格: xxx元”。

定义一个 ShoppingCart 类,表示购物车,包含以下属性和方法:

属性:
products:保存商品对象的列表。
方法:
add_product(self, product):添加商品到购物车。
remove_product(self, product_name):根据商品名称移除购物车中的商品。
total_price(self):计算购物车中所有商品的总价并返回。
show_cart(self):打印购物车中所有商品的信息。
实现以下功能:

创建 3 个商品对象(如:苹果、香蕉和橙子),价格分别为 3.5 元、2 元和 4 元。
创建一个购物车对象,并将 3 个商品依次加入购物车。
移除一种商品后,展示购物车中的商品。
打印购物车总价。

代码实现:

# 商品类
class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price

    def __str__(self):
        return f"商品名称: {self.name}, 商品价格: {self.price:.2f}元"


# 购物车类
class ShoppingCart:
    def __init__(self):
        self.products = []

    # 添加商品
    def add_product(self, product):
        self.products.append(product)

    # 移除商品
    def remove_product(self, product_name):
        for product in self.products:
            if product.name == product_name:
                self.products.remove(product)

    # 计算总价
    def total_price(self):
        return sum(product.price for product in self.products)

    # 展示购物车内容
    def show_cart(self):
        if not self.products:
            print("购物车为空!")
        else:
            for product in self.products:
                print(product)


# 测试代码
if __name__ == '__main__':
    # 创建商品
    apple = Product('苹果', 3.5)
    banana = Product('香蕉', 2.0)
    orange = Product('橙子', 4.0)

    # 创建购物车
    shopping_cart = ShoppingCart()

    # 添加商品到购物车
    shopping_cart.add_product(apple)
    shopping_cart.add_product(banana)
    shopping_cart.add_product(orange)

    # 展示购物车内容
    print("当前购物车内容:")
    shopping_cart.show_cart()

    # 移除商品
    shopping_cart.remove_product('香蕉')
    print("\n移除香蕉后,购物车内容:")
    shopping_cart.show_cart()

    # 打印总价
    print(f"\n购物车总价:{shopping_cart.total_price():.2f}元")



网站公告

今日签到

点亮在社区的每一天
去签到