一个很low的购物车系统还花了我一下午时间

本文介绍了一个基于文本文件的简易购物车系统实现方法,包括用户购买流程与商家管理商品的功能。用户可以查看商品列表、选购商品并跟踪余额;商家能够修改商品信息及添加新产品。

购物车的要求

有一两个入口

  用户入口:

    1.商品信息存在文件里

    2.已购商品余额记录

  商家入口

    2.可添加商品,修改商品

用户入口

俩个文件一个product.txt商品信息   一个历史购买数据

用户输入本想加一个判断历史购买是否由余额然后直接输入余额  ,但是if判断好像返回不了返回值

 1 # Author:Zhiyu Su
 2 
 3 shopping_list=[]
 4 f=open('product.txt','r',encoding='utf-8')
 5 product_list=eval(f.read())
 6 
 7 l = open('历史购买数据.txt', 'r', encoding='utf-8').read()
 8 
 9 
10 
11 salary = l
12 print('以前购物余额',salary)
13 
14 salary = input("input your salay")
15 if salary.isdigit():#字符串形式的数字返回为真
16     salary = int(salary)
17     while True:
18         for index,item in enumerate(product_list):#enumerate 取元素的下标
19 
20             #print(product_list.index(item),item)
21             print(index,item)
22         user_choice = input("选择》》》》》》》》")
23         if user_choice.isdigit():
24             user_choice=int(user_choice)
25             if user_choice < len(product_list) and user_choice >=0:
26                 p_item = product_list[user_choice]
27                 if p_item[1] <= salary:#买的起
28                     shopping_list.append(p_item)
29                     print(shopping_list)
30                     salary-= p_item[1]
31                     print("added%s into shopping cart your crent balance is \033[31;1m%s\033[0m" %(p_item,salary))  #字体红色 \033[31;1m**\033[0m
32                 else:
33                     print("\033[41;1m你的余额只剩[%s]啦,还买个毛线\033[0m"%salary)
34             else:
35                 print("不存在[%s]"% user_choice)
36         elif user_choice == 'q':
37             print("-----------shopping list--------------")
38             for p in shopping_list:
39                 print(p)
40             print("your current balance:",salary)
41             k = open('历史购买数据.txt', 'w', encoding='utf-8')
42             k.write(str(salary))
43             k.write(str(p))
44             k.close()
45             exit()
46         else:
47             print("sojdioj")
48 f.close()

商家入口

有待完善的地方:修改完毕之后保存两个文件一个是使用文档,一个是备份。文档以w模式写   而备份以追加模式写再加每次存写的日期 ,如果文档丢失按最接的时间拷贝到使用文本里(这里配备时间可能需要用到正则 )

 1 # Author:Zhiyu Su
 2 
 3 
 4 
 5 
 6 f =  open('product.txt','r',encoding='utf-8')
 7 
 8 
 9 data = eval(f.read())
10 f_new =  open('product.txt','w',encoding='utf-8')
11 # for i in data:
12 #     print(i)
13 
14 for index,item in enumerate(data):#enumerate 取元素的下标
15        print(index,item)
16 Choice = input('你要修改商品按x你要添加商品按t>>>>')
17 if Choice =='x':
18     choice = int(input("选择要修改的商品号》》》"))
19     if choice <len(data):
20         print(data[choice])
21         choice2 = input('修改名称按--m--还是修价格按--q-->>>')
22         if choice2 =='m':
23             choice3 = input("你要修改的商品名称>>>>>")
24             data[choice][0]=choice3
25             print(data)
26             f_new.write(str(data))
27         elif choice2 == 'q':
28             choice4 = input("你要修改的商品名称>>>>>")
29             data[choice][1] = choice4
30             print(data)
31             f_new.write(str(data))
32 elif Choice == 't':       #添加功能
33     App = input('商品名称>>>>>>')
34     end = input('商品价格>>>>>>')
35     data.append([App,end])
36     f_new.write(str(data))
37 else:
38     print('兄弟只有t和x')
39 f.close()
40 f_new.close()

 










转载于:https://www.cnblogs.com/szy413227820/p/7419421.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值