代码:购物车(待修改)

代码:购物车(待修改)

goods_list = [
    {'id':1,'title':'飞机','price':1000},
	{'id':3,'title':'大炮','price':1000},
	{'id':8,'title':'迫击炮','price':1000},
	{'id':9,'title':'手枪','price':1000},]
print(goods_list)
id_input = int(input('请输入要购买商品的编号:'))
num_input = int(input('请输入要购买商品的数量:'))
from datetime import datetime
now_time = datetime.now()
str_now_time = now_time.strftime('%Y-%m-%d')
#生成一个带有日期格式的文件
f1 = open(str_now_time,'a',encoding='utf-8')
jud = True
for i in goods_list:
    if i.get('id') == id_input: #判断该商品是否存在
        jud1 = 'a' #对条件语句进行定义
        str_i = str(i)

        for i1 in open(str_now_time, 'r', encoding='utf-8'):  # 一行一行的进行读取

            if str_i in eval(i1):
                return_num = eval(i1).pop(str_i)  # 存在便返回相应的数量
                print(return_num)
                jud1 = 'a1'
                break #条件满足并终结循环
        if jud1 == 'a':
            info = {str_i:num_input}
            import json
            f1.write(json.dumps(info,ensure_ascii=False) + '\n')
            jud = False
        elif jud1 == 'a1':
            with open(str_now_time, 'a', encoding='utf-8') as f3:  # 对新的信息进行追加
                fin_dict = {str(i): (return_num + num_input)}  # 生成新的键值对
                f3.write(str(fin_dict) + '\n')  # 在文件中对新生成的键值对进行追加
                f3.close()
if jud:
    print('此商品不存在')
f1.close()


###验证程序
goods_list = [
    {'id':1,'title':'飞机','price':1000},
	{'id':3,'title':'大炮','price':1000},
	{'id':8,'title':'迫击炮','price':1000},
	{'id':9,'title':'手枪','price':1000},]
# print(goods_list)
id_input = int(input('请输入要购买商品的编号:'))
num_input = int(input('请输入要购买商品的数量:'))
for i in goods_list:
    if i.get('id') == id_input:  # 判断商品列表中是否有要找的商品
        for i1 in open('2020-08-05','r',encoding='utf-8'): #一行一行的进行读取
            if eval(i1).keys()[0] == i:
                return_num = eval(i1).pop(str(i)) #存在便返回相应的数量,并删除原有键值对
                print(return_num)
                break
            else:
                jud = True

        with open('2020-08-05','a',encoding='utf-8') as f3: #对新的信息进行追加
            fin_dict = {str(i):(return_num+num_input)}  #生成新的键值对
            f3.write(str(fin_dict)+'\n') #在文件中对新生成的键值对进行追加
            f3.close()
posted @ 2020-08-08 01:57  小杨的冥想课  阅读(94)  评论(0编辑  收藏  举报