一.需求分析
- 拥有用户接口和商家接口
- 用户能够进行消费记录查询,充值,购物等功能,消费记录存储于数据库
- 商家可以进行商品的增删改等操作
二.程序流程图
程序大致流程图如下:
三.代码实现
本程序分成两部分,生成两个py函数,分别是DataAccess_txt.py和ShoopingCar.py,DataAccess_txt.py函数主要是用于编写一些数据库的操作接口,比如增删改操作,用户数据查询存储等操作。ShoopingCar.py用户主函数的编辑与处理,话不多说上代码:
DataAccess_txt.py程序代码如下:
import time#导入模块方法,用于系统时间获取 #查询数据库中的数据 def search_data_access(): goods=[] fp = open('goods_info.txt','r')#打开商品信息表 lines = fp.readlines() for line in lines: goods.append(line.rstrip(' ').split(' '))#清楚格式转换成列表 for i in range(len(goods)): print('%s 价格 :%s 库存 :%s'%(goods[i][0],goods[i][1],goods[i][2])) #删除商品操作 def delet_goods_opt(GoodName): goods=[] fp = open('goods_info.txt','r') lines = fp.readlines() for line in lines: goods.append(line.rstrip(' ').split(' '))#清楚格式转换成列表 # for i in range(len(goods)): # print('%s 价格 :%s 库存 :%s'%(goods[i][0],goods[i][1],goods[i][2])) for i in range(len(lines)): if GoodName == goods[i][0]: print("删除商品%s成功!"%goods[i][0]) goods.remove(goods[i]) fp.close() fp = open('goods_info.txt', 'w') for i in range(len(goods)): fp.write(' '.join(goods[i]) + ' ') fp.close() return print("没有此商品信息,删除失败!") #添加商品操作 #参数说明:goodname 商品名 prace 价格 Num 库存量 def add_goods_opt(GoodName,prace,Num): goods = [] fp = open('goods_info.txt', 'r') lines = fp.readlines() for line in lines: goods.append(line.rstrip(' ').split(' ')) # 清楚格式转换成列表 T = False for i in range(len(goods)): if goods[i][0] == GoodName: T = True print("商品已存在,添加失败!") return Info = GoodName+' '+str(prace)+' '+str(Num)+' ' fp.close() fp = open('goods_info.txt', 'a') fp.write(Info) fp.close() print("添加商品%s成功!" %GoodName ) #修改商品参数 #参数说明:goodname 商品名 prace 价格 Num 库存量 def Change_goods_info(GoodName,prace,Num): goods = [] fp = open('goods_info.txt', 'r') lines = fp.readlines() for line in lines: goods.append(line.rstrip(' ').split(' ')) # 清楚格式转换成列表 for i in range(len(goods)): if goods[i][0] == GoodName: goods[i][1] = str(prace) goods[i][2] = str(Num) fp.close() fp = open('goods_info.txt', 'w') for i in range(len(goods)): fp.write(' '.join(goods[i]) + ' ') fp.close() print("商品%s参数修改成功!"%(GoodName)) return print("数据库中没有此商品,修改失败!") #查余额 def user_printAccountBalance(GoodName): user_info=[] fp = open('users_value.txt', 'r') lines = fp.readlines() for line in lines: user_info.append(line.rstrip(' ').split(' ')) # 清除格式转换成列表 for i in range(len(user_info)): if user_info[i][0] == GoodName: print("