购物车总结

购物车系统设计
本文介绍了一个简单的购物车系统实现方案,包括添加、更新和删除商品的功能,并计算了商品的折后总价及节省金额。
购物车总结:
写一个购物车的类Cart
public class Cart {
     private float totalPrice;//总价
    
     private float savingMoney;//节省的金额

    //使用一个Map来保存购物车信息
    protected  Map<String,Orderitem> items;
    //初始化购物车,如果是第一次添加,则创建一个购物车信息集合
    public Cart(){
        if(items==null){
            items = new HashMap<String,Orderitem>();
        }
    }
   
    //添加购物车信息
    public void addToCart(String bookId , Orderitem ot){
       
        if(items.containsKey(bookId)){
        Orderitem _ot =    items.get(bookId); //_ot是原来的购物车中的OrderItem对象
        _ot.setNumber(ot.getNumber()+_ot.getNumber());
       
        items.put(bookId, _ot);
        }else{
            //否则直接加入一个购物信息
            items.put(bookId, ot);
        }
    }
   
    //更新购物车信息(数量)
   
    public void updateCart(String bookId , Orderitem ot){
        //直接覆盖最近的数据信息
        items.put(bookId, ot);
    }
   
    //删除购物车信息
   
    public void deleteFromCart(String bookId){
          items.remove(bookId);
    }

    //取打折后总价格
    public float getTotalPrice(){
        float totalPrice = 0;
        for(Iterator it = items.values().iterator();it.hasNext();){
            Orderitem ot = (Orderitem)it.next();
            Book book = ot.getBook();
            totalPrice += ot.getNumber()*(book.getPrice()*(book.getDiscount()*0.01));
        }
       
        return totalPrice;
    }
    //取节省的钱

     public float getSavingMoney(){
        float savingMoney = 0 ;
        for(Iterator it = items.values().iterator();it.hasNext();){
            Orderitem ot = (Orderitem)it.next();
            Book book = ot.getBook();
            savingMoney += ot.getNumber()*(book.getPrice()*(float)(1-book.getDiscount()*0.01));

        }
       
        return savingMoney;
       
    }

    public Map<String, Orderitem> getItems() {
        return items;
    }

    public void setItems(Map<String, Orderitem> items) {
        this.items = items;
    }   
   
}

在验证用户登陆的地方,验证成功后创建一个Cart对象,并将它保存在session会话中
当我们要添加,更新,删除购物信息时,从session中存取该Cart对象
完成 Python 购物车的过程中,我们需要掌握以下几个方面的知识: 1. 列表和字典的基本操作:购物车可以使用列表来存储商品,字典可以用来存储商品和价格的对应关系。 2. 输入输出的基本操作:我们需要从用户那里获得输入,然后输出结果给用户。 3. 流程控制语句:我们需要使用 if-else 语句和循环语句来实现购物车的基本逻辑。 4. 函数和模块的使用:我们可以将购物车的不同功能封装成不同的函数,并且将这些函数放在一个模块里,方便我们的调用和管理。 在掌握了以上知识后,我们可以按照以下步骤来实现一个简单的 Python 购物车: 1. 创建一个空的购物车列表和一个空的商品字典。 2. 输出菜单,让用户选择要进行的操作(添加商品、删除商品、显示购物车、结算)。 3. 根据用户选择的操作,调用相应的函数来实现相应的功能。 4. 如果用户选择了结算,计算购物车中商品的总价并输出结果。 5. 退出程序。 以下是一个简单的购物车示例代码,以供参考: ```python # shopping_cart.py # 商品字典 goods = { "apple": 3.5, "banana": 2.8, "orange": 4.0, "watermelon": 6.0, "pear": 3.2 } # 购物车 cart = [] # 添加商品 def add_goods(): name = input("请输入商品名称:") if name in goods: cart.append(name) print("商品添加成功!") else: print("该商品不存在!") # 删除商品 def delete_goods(): name = input("请输入要删除的商品名称:") if name in cart: cart.remove(name) print("商品删除成功!") else: print("购物车中不存在该商品!") # 显示购物车 def show_cart(): if len(cart) == 0: print("购物车为空!") else: print("购物车中的商品有:") for name in cart: print(name) # 结算购物车 def checkout(): if len(cart) == 0: print("购物车为空!") else: total_price = 0 for name in cart: total_price += goods[name] print("您购买的商品总价为:%.2f 元" % total_price) # 输出菜单 def show_menu(): print("欢迎使用购物车程序!") print("1. 添加商品") print("2. 删除商品") print("3. 显示购物车") print("4. 结算") print("5. 退出程序") # 主函数 def main(): while True: show_menu() choice = input("请输入要进行的操作:") if choice == "1": add_goods() elif choice == "2": delete_goods() elif choice == "3": show_cart() elif choice == "4": checkout() elif choice == "5": print("感谢使用购物车程序,下次再见!") break else: print("输入有误,请重新输入!") if __name__ == "__main__": main() ``` 希望这个购物车示例能够帮助你理解 Python 的基本语法和编程思想!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值