python购物车

python购物车

一、需求分析
在这里插入图片描述
二、编程思路
在这里插入图片描述
三、相关代码

user = {"Sakura": "ibegyou", "Aimer": "justice", "x": "1"}  #用户列表
Goods = [['1.ROG 冰刃3S新锐',19999],
    ['2.HUAWEI P30 Pro',5488],
    ['3.APPLE iPad Pro 2018',8999],
    ['4.Python Book',99],
    ['5.Coffee',33],
    ['6.Bike',666],
    ['7.Hero pen',50]]    #商品列表
shopping_cart = []  # 已经购买的列表

while True:
    user_name = input("请输入您的用户名>>:").strip()    #去除首尾字符
    if user_name not in user:   #判断用户是否在用户列表中
        print("用户名错误")
    elif user_name in user:
        user_passwd = input("请输入您的密码 :").strip()
        if user_passwd in user.values():
            print("欢迎登录电子商城")

            while True:
                salary = input("请输入你的金额 : ").strip()
                if not salary.isdigit():
                    print("您输入的金额不合法,请再次输入")
                    continue
                else:
                    salary = int(salary)
                    break

            yuer = salary  # 余额
            for i in Goods:
                print(i)  # 遍历商品列表

            buyindex = ""
            while True:
                buy = input("输入'q'退出,请输入购买物品的编号:").strip()

                if buy.isdigit():   #检测字符串是否只由数字组成
                    buyindex = int(buy)
                    if buyindex < 1 or buyindex > len(Goods):
                        print("没有您想要的商品,请重新选择")
                        continue
                elif buy == "q":
                    if len(shopping_cart) < 1:
                        print("你没有购买任何物品")
                        break
                    print("----------------购物车的清单-------------------")
                    for j in shopping_cart:
                        print(j)  # 遍历shopping_cart
                    print("你已经购买了以上的商品。剩余金额为:" , yuer)
                    break
                price = Goods[buyindex - 1][1]
                if (price > yuer):
                    print("您的余额不够,剩余:", yuer)

                    while True:
                        charge=input("是否充值? “是”输入 充值金额 ,“否”输入 n :").strip()     #进入充值
                        if charge.isdigit():
                            charge=int(charge)
                            yuer += charge
                            break
                        elif charge=="n":
                            break
                        elif not charge.isdigit():
                            print("您输入的金额不合法,请再次输入")
                            continue

                elif (price <= yuer):
                    yuer = yuer - price
                    shopping_cart.append(Goods[buyindex - 1])

                    print("购买成功,购买商品为:\n" + Goods[buyindex - 1][0], "余额为", yuer)
            break
        else:
            print("密码错误!")

代码: 传送门

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值