简单购物系统—Python 小项目

目录

 

需求分析:

运行结果:

1、需求分析:

函数只是封装功能 接收参数返回结果  不要让函数做跳转。

1、输出欢迎界面还有登录注册菜单
    1、登录
    2、注册
    保留用户信息,目前做不到固话,先注册,注册成功之后再选择登录进去
    用户信息-用户名、密码、初始金额
2、登录成功之后,又弹出菜单
    1、查看商品信息
    2、购买商品,将商品加入购物车
    3、查看和结算购物车
    4、退出

#1、登录页面
def login(username,passwd):
    # print("登录成功")
    # pass
    if username in user and user[username]['passwd'] == passwd:
        return True
#2、注册页面
def register(username,passwd,money):
    # print("注册成功!")
    # pass
    if username in user:
        print("用户名已存在,请重新输入!")
        # if money <= float(user[username]['余额']):
    else:
        user['root'] = {'passwd': passwd,'余额':money}
        print(f"{username}已经注册成功!")
        print(f"{'用户名':<8}{'密码':<10}{'金额':<7}")
        if money.isdigit():
            # money = float(money)
            user['root']['余额'] = float(user['root']['余额'] + money)
            # user[username]['余额'] = float(user[username]['余额'] + money)
            print(f"{username}用户充值成功,你的充值金额为{money},目前余额为:{user['root']['余额']}")
            print(user['root'])
        else:
            print("充值失败,请重新输入!")

#3、开始购物
#3.1查看商品信息
def good():
    print("查看商品信息".center(50,"-"))
    print(f"{'商品编号':<10}{'商品名称':<10}{'单价':<5}")
    for i in shop:  #从shop中取出商品编号、商品名称、单价
        print(f"{i:<10}{shop[i]['name']:>6}{shop[i]['price']:>15}")

shopping_cart = {} #定义一个采购清单,把购买物品的信息都写入进去
#3.2购买商品,将商品加入购物车
def shopping(number,quantity):#定义
    shopping_cart[number] = shopping_cart.get(number,0)+ quantity
    print("商品成功加入购物车")
    print(f"{'商品编号':<10}{'数量':<10}")
    print(f"{number:<10}{quantity:>6}")


#3.3查看和结算购物车
#查看购物车
def checking_cart():
    # global sum_price
    print("购物车".center(30,"="))
    print(f"{'商品编号':<10}{'商品名称':<10}{'单价':<5}{'数量':>10}")
    for i in shopping_cart: #定义一个采购清单,把购买物品的信息都写入进去
        print(i)
        print(f"{i:<10}{shop[i]['name']:>6}{shop[i]['price']:>10}{shopping_cart[i]:>15}")
        print("-"*50)
#结算购物车
        # sum_price = shopping_cart[quantity] * float(shop[number]['price'])
shopping_cart1 = {} #选购完的商品的购物车
sum_price = 0  #单个购物车商品总价初始值为0
sum_price1 = 0 #多个购物车消费金额初始为0
def paying_cart(pay):
    global sum_price,sum_price1
    for i in list(shopping_cart):
        sum_price += shopping_cart[i] * float(shop[i]['price'])
        if sum_price <= float(user[username]['余额']):
            user[username]['余额'] = float(user[username]['余额']) - sum_price
            print(f"购买成功,总计为{sum_price},余额为{float('%.2f' % user[username]['余额'])}")
            shopping_cart1.update(shopping_cart.copy())#将单次购买的购物车中的所有商品存入结算购物车中
            shopping_cart.clear()#结算成功,清空购物车
            sum_price1 += sum_price
            sum_price = 0 #购物车商品总价重置为0
        else:
            print("余额不足,请重新充值")

#4、退出
def exit():
    global sum_price1,balance
    print("谢谢惠顾,欢迎下次光临".center(50,"#"))
    print("-"*50)
    print(f"{'商品编号':<10}{'商品名称':<10}{'单价':<5}{'数量':<10}")
    for i in shopping_cart1:
        print(f"{i:<10}{shop[i]['name']:>6}{shop[i]['price']:>10}{shopping_cart1[i]:<15}")
    print("=="*50)
    print(f"您一共消费:{sum_price1},余额:{float('%.2f' % user[username]['余额'])}")

#主页面
print("欢迎进入三乐购物系统".center(50,"*"))
user = {'root': {'passwd': '123456', '余额': '500'},
        'admin': {'passwd': '255278', '余额': '1000'}, }
shop = {'F00001':{'name':'苹果','price':1.2},
        'F00002':{'name':'香蕉','price':5.0,},
        'F00003': {'name':'梨子','price':'6.5'}}

while True:
    print("1、登录".center(40))
    print("2、注册".center(40))
    print("3、退出".center(40))

    option = input("请输入你的选择:")
    #登录
    if option == '1':
        username = input("请输入你的用户名; ")
        passwd = input("请输入你的密码: ")
        if login(username,passwd):
            print(f"登录成功!,目前的你的余额为{user['root']['余额']}")
            while True:
                print("1、查看商品信息".center(50))
                print("2、开始购物,将商品加入购物车".center(57))
                print("3、查看和结算购物车".center(51))
                print("4、退出".center(45))
                option2 = input("请输入你的选择:")
                if option2 =="1": #查看商品信息
                    good()
                elif option2 =="2": #开始购物,将商品加入购物车
                    print("欢迎来到三乐购物超市".center(30, "#"))
                    number = input("请输入你要购买的商品编号(F00001-F00003):")
                    if number == 'exit':
                        print("您已成功退出登录")
                        exit()
                    else:
                        if number in shop:#查看编号是否存在于shop中
                            quantity = input("请输入你要购买的数量:")
                            if quantity.isdigit(): #如果数量是数字
                                quantity = float(quantity)
                                shopping(number,quantity)
                            else:
                                print("输入的数量有误,请重新输入!")

                        else:
                            print("编号输入不正确,请重新输入")
                elif option2 == "3": #查看和结算购物车
                    checking_cart()
                    print("按Q进行结账".center(20, "@"))
                    pay = input("输入'Q'就可以进行结账):")
                    if pay == "Q":
                        print("正在结算...")
                        paying_cart(pay)
                    else:
                        print("结账按钮输入错误!")
                elif option2 == "4": #退出
                    # print("谢谢惠顾,欢迎下次光临".center(50, "#"))
                    exit()
                    break
                else:
                    print("输入有误!请重新输入")
    #用户注册
    elif option =='2':
        username =input("请输入你的用户名; ")
        passwd = input("请输入你的密码: ")
        money = input("请输入你的充值金额: ")
        register(username, passwd, money)

    #退出系统
    elif option =='3':
        print("您已经退出系统")
        # exit()

    else:
        print("输入错误")

2、运行结果:

1、登录之后可以进行商品信息查询、购物、查看和结算购物车

 2.用户注册可以选择充值金额。

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值