• Python 购物车程序(文件版)


    '''
    购物车程序
    用户入口:
    1.商品信息存在文件里
    2.已购商品,余额记录

    商家入口:
    1.可以添加商品,修改商品价格
    '''

    filePath = "D:Python_workLpythonday2shoppinglist.txt"
    
    with open (filePath, "r") as f:
        filetext = f.readlines()
        k = len(filetext)
        # print(filetext)
    
    # 提取商品列表(将字符串以逗号分割写入列表)
    fileList  = []
    for i in range(k):
        c = filetext[i].split(",")
        fileList.append([c[0],int(c[1])])
    print(fileList)
    
    
    # ================
    # 用户入口
    # ================
    
    fileLen = len(fileList)
    salary = int(input("请输入您的工资: "))
    for j in range(fileLen):
        # 打印商品(编号,商品名称,价格)
        print(j, '.', fileList[j][0], ' ', fileList[j][1])
    
    shoppingList = []
    while True:
        selectNum = input("请选择商品编号:")
        if selectNum.isdigit():
            selectNum = int(selectNum)
            if 0 <= selectNum < fileLen:
                p_item = fileList[selectNum]
                if p_item[1] <= salary:
                    shoppingList.append(p_item)
                    salary -= p_item[1]
                    print("已添加 %s 商品到购物车,您的余额为:33[31;0m %s 33[0m" % (p_item, salary))
                else:
                    print("33[41;1m你的余额只剩[%s]啦,还买个毛线啊 33[0m" % salary)
                    for going in shoppingList:
                        print("您已购商品为: ", going)
                    print("您当前的余额为: ", salary)
                    break
            else:
                print("您选择的 [%s] 不存在,请重新选择 " % selectNum)
    
        elif selectNum == "q":
            print("---------shopping list---------")
            for going in shoppingList:
                print("您已购商品为: ", going)
            print("您当前的余额为: ", salary)
            exit()
        else:
            print("无效选项")
    
    
    # ================
    # 商家入口
    # ================
    
    
    goodskey = dict(fileList)
    print(goodskey)
    
    # 修改商品名称 & 修改价格 & 添加商品
    
    goodskey["Iphone11"] = "5999"
    goodskey.update({'Iphone12':goodskey.pop("Iphone11")})
    print(goodskey)
    with open(filePath, 'w+') as f:
        for key in goodskey:   # for key,value in goodskey.items(): 不建议这样写
            f.write('{0},{1}
    '.format(key,goodskey[key]))
    # 添加商品
    with open (filePath, "a+") as f:
        f.write("Python8,8800
    ")
    

      

     

      

  • 相关阅读:
    智能指针之 auto_ptr
    UML在线绘图
    inline使用
    工作随笔—2017-12-12
    链表排序
    转——浅谈如何提高服务器并发处理能力
    使用re开发python计算器
    Linux-centos7下python3 环境设置
    C语言中的static 详细分析
    pycharm import pygame 出现报错:No module named 'pygame'
  • 原文地址:https://www.cnblogs.com/codecca/p/11843255.html
Copyright © 2020-2023  润新知