centos7安装 细胞因子 Transformer 金融信贷 servlets split playframework smtp flowjs bootstrap后台模版 后台界面 jquery去除空格 bootstrap模态框传参 quartz配置 windows杀死进程命令 vue与html5 kubernetes视频 python数据 pythonlist java数据 java中float java八种基本数据类型 linux云服务器 html实例教程 乱码查看器 din字体 两表关联查询 路由器有没有辐射 saminside 催眠魔蛙 烧饼修改器打不开 phpword js刷新当前页 ios12录屏 平面设计软件下载 execryptor 黑客攻防技术宝典 全能音频转换通 贪吃蛇c语言代码 地图数据采集
当前位置: 首页 > 学习教程  > 编程语言

Python实现简单的购物车

2020/8/31 12:44:27 文章标签:

思路:
    1.引导用户输入金额
    2.引导用户选择商品
    3.根据用户的选择将商品添加到购物车
    4.删除商品
    5.结算购物车,退出系统



# 购物车
# 商品名称作为key,商品数量作为value
shoppingcar = {}


# 添加商品
def addgoods(product, num):
    if num.isdigit():  # isdigit()如果字符串只包含数字则返回 True 否则返回 False。
        num = int(num)
        # 判断key是否存在
        if product not in shoppingcar:
            # 添加键值对
            shoppingcar[product] = num
        else:
            # 修改指定键的值
            shoppingcar[product] += num
        print("商品添加成功")
    else:
        print("数量输入有误")

# 删除商品
def delgoods(name, num):
    product = 0
    for key in shoppingcar:
        if key[0] == name:
            product = key
    if num.isdigit():
        num = int(num)
        if num >= shoppingcar[product]:
            for product in shoppingcar:
                if product[0] == name:
                    # 删除该商品的全部
                    shoppingcar.pop(product)
        else:
            # 删除该商品指定的数量【修改value值】
            shoppingcar[product] -= num

        print("商品删除成功")
    else:
        print("数量输入有误")


if __name__ == '__main__':
    print("**********欢迎进入自选超市**********")
    # 引导用户输入金额
    saving = input("请输入你的金额:")

    if saving.isdigit():
        saving = int(saving)
        while True:
            print("可以进行的操作如下:\n "
                  "0.添加商品  1.删除商品  2.结算购物车  3.退出超市")
            # 引导用户选择操作
            choice = input("请输入你需要进行的操作:")

            # 判断用户选择的序号
            if choice in ["0", "1", "2", "3"]:

                if choice == '0':
                    # 添加
                    # 存储商品的列表
                    product_list = [
                        ('book', 88),
                        ('iphone', 8888),
                        ('food', 100),
                        ('kindle', 500),
                        ('computer', 7000)
                    ]
                    # 展示商品内容
                    print("本商店的商品如下:")
                    for i, goods in enumerate(product_list):
                        print("%d:%s" % (i, goods))

                    # 引导用户选择商品
                    index = input("请输入你需要购买的商品编号:")

                    if index.isdigit():
                        index = int(index)
                        if 0 <= index <= len(product_list) - 1:
                            # 获取商品
                            product = product_list[index]

                            # 引导用户输入商品数量
                            num = input("请输入需要购买的%s的数量:" % (product[0]))

                            if int(num) * product[1] > saving:
                                print("金额不足,请充值")
                                saving += int(input("请输入需要充值的金额:"))
                                print("充值成功,余额为:%d" % saving)
                            else:
                                # 减去商品价格
                                saving -= int(num) * product[1]
                                # 将商品添加到购物车
                                addgoods(product, num)
                    else:
                        print("商品的编号输入有误")

                elif choice == '1':
                    # 删除
                    name = input("请输入需要删除的商品名称:")
                    num = input("请输入需要删除的商品的数量:")
                    for product in shoppingcar:
                        if product[0] == name:
                            # 添加金额
                            saving += int(num) * product[1]
                    delgoods(name, num)

                elif choice == '2':
                    # 结算购物车
                    print("----------你已经购买了如下商品----------")
                    for key,value in shoppingcar.items():
                        print("%s:%s"%(key,value))

                    # 清空购物车
                    shoppingcar.clear()
                    print("你还剩余%d元" % saving)

                else:
                    # 退出
                    print("欢迎再次光临")
                    break
            else:
                print("暂未开通此功能")
    else:
        print("金额输入有误,请重新输入")

测试运行结果:

**********欢迎进入自选超市**********
请输入你的金额:10000
可以进行的操作如下:
 0.添加商品  1.删除商品  2.结算购物车  3.退出超市
请输入你需要进行的操作:0
本商店的商品如下:
0:('book', 88)
1:('iphone', 8888)
2:('food', 100)
3:('kindle', 500)
4:('computer', 7000)
请输入你需要购买的商品编号:2
请输入需要购买的food的数量:50
商品添加成功
可以进行的操作如下:
 0.添加商品  1.删除商品  2.结算购物车  3.退出超市
请输入你需要进行的操作:1
请输入需要删除的商品名称:food
请输入需要删除的商品的数量:20
商品删除成功
可以进行的操作如下:
 0.添加商品  1.删除商品  2.结算购物车  3.退出超市
请输入你需要进行的操作:2
----------你已经购买了如下商品----------
('food', 100):30
你还剩余7000元
可以进行的操作如下:
 0.添加商品  1.删除商品  2.结算购物车  3.退出超市
请输入你需要进行的操作:3
欢迎再次光临

 


本文链接: http://www.dtmao.cc/news_show_150031.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?