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
")

  

 

  

原文地址:https://www.cnblogs.com/codecca/p/11843255.html