python实现一个简单的购物系统

python实现一个简单的购物系统
代码功能还不够完善

"""
@name : 购物系统测试案例
@author : wangaokang
@projectname: python代码
"""

import sys

#定义一个采购清单,把购买物品的信息都写入进去
shopping_cart = {}
sum_price = 0

#定义一个终止程序
def exit():
    if not shopping_cart:
        print("\033[1;36m你的购物车为空哦,宝贝请加满你的购物车再来找我!!!\033[0m")
    else:
        print(f"\033[1;34m你的购物车里有{shopping_cart}接下来我将为你结算哦,宝!!!\033[0m")
    print(f"宝先让我看看你要支付的金额为:{sum_price}元")
    sys.exit(0)


#定义个用户列表
User = {'root': {'pas':'123456','余额':'4000'},
        'wak': {'pas':'3211642176','余额':'500'}}

#定义一个商品列表
shop = {'F001': {'name':'苹果','price':1.2,'count':100},
        'F002': {'name':'荔枝','price':5.5,'count':8},
        'F003': {'name':'梨子','price':8.5,'count':200}
}


#登录系统函数
def Enter():
    global user_name,passwd
    print("\033[1;36m返回菜单请按r\033[0m")
    user_name = input("请输入用户名:")

    if user_name == 'r':
        return menu()

    elif user_name == 'exit':
        exit()
    else:

        passwd = input("请输入用户密码:")

        if passwd  == 'exit':
            exit()
        else:
            if user_name in User and passwd == User[user_name]['pas']:

                print("\033[1;34m登陆成功!\033[0m")
                print("余额:",User[user_name]['余额'])
                print('''
                                 -------商品信息--------
                          
                    
                            F001:{name:苹果,price:1.2,count:100},
                            F002:{name:荔枝,price:5.5,count:8},
                            F003:{name:梨子,price:8.5,count:200}
                    ''')
                return shopping()

            else:
                print("输入密码错误或用户不存在!"
                      "请重新输入!")
                return Enter()


#用户注册系统
def register():
    global user_name, passwd, money
    user_name = input("请输入你的用户名:")
    if user_name == 'exit':
        exit()
    else:
        #判断用户名是否已经存在
        if user_name in User.keys():
            print("用户名已经存在请重新命名!")
            return register()

        else:
            passwd = input("请输入你的密码:")

            if passwd == 'exit':
                exit()
            else:
                money = input("请输入你的充值金额:")

                if money == 'exit':
                    exit()
                else:
                    money = float(money)

                    #判断用户的充值金额是否大于50
                    if money <= 50:
                        print("注册失败!您存储的金额要大于50")
                        return register()
                    else:
                        User.update({user_name:{'pas': passwd, '余额': money}})
                        print("注册成功!"
                              "请选择你的操作选项")
                return menu()


#购物函数
def shopping():
    global sum_price

    print("按Q结账".center(50,'*'))
    while 1:
        number = input("请输入你要购买的物品编号:")

        if number  == 'exit':
            exit()

        elif number == ('q' or 'Q'):
            money = float(User[user_name]['余额']) - sum_price
            print("购物结束!本次消费如下:")
            print(shopping_cart)
            print("已支付:", sum_price)
            print("余额:", money)
            print("\033[1;34m希望我的小宝本次购物愉快哟!\033[0m")
            break

        elif number in shop.keys():
            amount = input("请输入你要采购的数量:")
            sum_price = 0
            if amount == 'exit':
                exit()

            # 判断输入是否为数字如果不是重新输入
            elif amount.isdigit():
                amount = float(amount)

                if amount > (shop[number]['count']):
                    print(f"库存不足,目前库存为{shop[number]['count']}")
                    continue

                else:

                    shop[number]['count'] -= amount
                    print(f"\033[1;34m当前{shop[number]['name']}剩余:{shop[number]['count']}\033[0m")

                    # 如果重复选中购物车中已有的商品
                    if shop[number]['name'] in shopping_cart.keys():
                        toal_price = float(shop[number]['price'] * amount)

                        # 因为是重复选购所以将两次购物信息合并为一个
                        shopping_cart.update({shop[number]['name']: {'单价': shop[number]['price'],
                                                                     '数量': float(shopping_cart[shop[number]['name']][
                                                                                     '数量'] + amount),
                                                                     '总价': float(shopping_cart[shop[number]['name']][
                                                                                     '总价'] + toal_price)}})
                    else:
                        toal_price = float(shop[number]['price'] * amount)
                        shopping_cart.update({shop[number]['name']: {'单价': shop[number]['price'],
                                                                     '数量': amount,
                                                                     '总价': toal_price}})

                    print("购物信息:", shopping_cart)

                    for i in shopping_cart.values():
                        sum_price = sum_price + float(i['总价'])

                    print("需要支付:", sum_price, "元")
                    money = float(User[user_name]['余额'])
                    print("卡内余额:", money, "元")
                    print("".center(50, '*'))

                        # money = float(User[user_name]['余额'])

                    if money - sum_price < 0:
                        print("你的余额不足!按1选择充值,按2选择放弃购物!")
                        option = input("请输入你的操作:")

                        if option == 'exit':
                            exit()
                        else:

                            option = int(option)

                            if option == 1:
                                return charge()
                            elif option == 2:
                                print("退出!")
                                break
                            else:
                                print("你的操作不合法!")
                                return shopping()


            else:
                print("输入错误!")
                # continue
                return shopping()






        else:
            print("输入编号不存在,请重新输入!")
            return shopping()



# 充值金额
def charge():
    charge_money = float(input("请输入要充值的金额:"))
    User[user_name]['余额'] = float(User[user_name]['余额'])+charge_money
    print("充值成功!")
    print("余额为:",User[user_name]['余额'])
    return shopping()

#


#主菜单界面
def menu():
    print("欢迎来到三乐购物系统".center(100, "-"))

    print("1.登录")
    print("2.注册")
    print("3.退出")
    option = input("请输入你要执行的操作:")
    if option == 'exit':
        exit()
    else:

        if option == "1":
            return Enter()


        elif option == "2":
            return register()

        elif option == "3":
            print("退出")

        else:
            print("\033[1;34m臭宝你又调皮了哟!!输入都不正确,要重新输入哦!\033[0m")
            return menu()


menu()
Python中设计一个简单购物系统可以通过创建几个类来实现,这些类将代表购物系统中的不同实体,例如商品、购物车和顾客等。下面是一个基本的设计思路: 1. 商品类(Product):用来表示购物系统中的商品,包含商品的基本信息,如商品名称、价格、库存数量等。 2. 购物车类(ShoppingCart):用来管理顾客所选择的商品,包括添加商品、删除商品、显示购物车中商品、计算总价等功能。 3. 顾客类(Customer):代表顾客,包含顾客的基本信息,如姓名、购物车等,还可以有其他如地址、支付方法等属性。 4. 购物系统类(ShoppingSystem):用来管理商品、顾客以及整个购物流程,如添加商品、处理顾客购买等。 下面是一个简单的示例代码: ```python class Product: def __init__(self, name, price, stock): self.name = name self.price = price self.stock = stock def __str__(self): return f"{self.name} - ${self.price} (库存: {self.stock})" class ShoppingCart: def __init__(self): self.products = [] def add_product(self, product, quantity): if product.stock >= quantity: product.stock -= quantity self.products.append((product, quantity)) print(f"已添加 {quantity} 个 {product.name} 到购物车。") else: print(f"库存不足,无法添加 {quantity} 个 {product.name} 到购物车。") def remove_product(self, product): for item in self.products: if item[0] == product: product.stock += item[1] self.products.remove(item) print(f"{product.name} 已从购物车中移除。") return def calculate_total(self): return sum([product[0].price * product[1] for product in self.products]) def show_cart(self): for item in self.products: product, quantity = item print(f"{product.name} x {quantity} = ${product.price * quantity}") print(f"总计: ${self.calculate_total()}") class Customer: def __init__(self, name): self.name = name self.shopping_cart = ShoppingCart() class ShoppingSystem: def __init__(self): self.products = [] def add_product(self, product): self.products.append(product) def create_customer(self, name): return Customer(name) # 示例使用 system = ShoppingSystem() product1 = Product("笔记本电脑", 5000, 10) product2 = Product("手机", 3000, 20) system.add_product(product1) system.add_product(product2) customer = system.create_customer("张三") customer.shopping_cart.add_product(product1, 1) customer.shopping_cart.add_product(product2, 2) customer.shopping_cart.show_cart() ``` 这个简单购物系统可以根据需要进行扩展,比如添加支付功能、订单管理、用户登录等更多功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值