项目要求:
用户入口
1、商品信息存在文件里
2、已购商品,余额记录。
商家入口
可以添加商品,修改商品价格
商家入口:
# Author:P J Jimport osps = ''' 1 >>>>>> 修改商品 2 >>>>>> 添加商品 按q为退出程序 '''# 打开两个文件,f文件为原来存取商品文件,f_new文件为修改后的商品文件 f = open('commodit', 'r', encoding='utf-8') f_new = open('commodit_update', 'w+', encoding='utf-8') file_list = f.readlines()# 打印商品信息 while True:productslist = []# 从商品文件中读取出来的数据存放到productslist列表里for line in file_list:productname = line.strip().split()productname, oldprice = line.strip("\n").split()productslist.append([productname, int(oldprice)])choose = input("%s请选择:" %ps)if choose =='1':for index, item in enumerate(productslist):print(index, item)productindex = input("请输入要修改价格的商品序号:")if productindex.isdigit():productindex = int(productindex)while True:print('要修改商品信息:', productslist[productindex])price = input("请输入要修改的价格:")if price.isdigit():price = int(price)productslist[productindex][1]=pricebreakelse:print("请正确的输入价格!")continue#已经修改好的商品列表循环写入f_new文件夹for products in productslist:insert_data = "%s %s" %(products[0],products[1])f_new.write(insert_data+'\n')print("商品价格已经修改!")# 替换原来的文件f_new = open('commodit_update', 'r', encoding='utf-8')data = f_new.readlines()f = open('commodit', 'w+', encoding='utf-8')for line in data:f.write(line)f.close()f_new.close()#删除替换文件os.remove('commodit_update')elif choose =='2':# 添加商品f = open('commodit', 'a+', encoding='utf-8')pricename = input("请输入商品名:")while True:price = input("请输入商品价格:")if price.isdigit():f.writelines('%s %s\n' % (pricename, price))breakelse:print('输入错误请重新输入!')continuef.close()continueelif choose =='q':breakelse:print("输入错误请重新输入")continue
买家入口:
# Author:P J Jproductslist = [] f = open('commodit','r',encoding='utf-8') for line in f:productname,price = line.strip('\n').split()productslist.append((productname,int(price)))print(productslist) shopping_list = []salary = input("请输入你的现金:") if salary.isdigit():salary = int(salary)while True:# for item in productslist:# print(productslist.index(item),item)for index,item in enumerate(productslist):print(index,item)#判断用户要输入user_choice = input("请选择要买什啥>>>:")if user_choice.isdigit():user_choice = int(user_choice)if user_choice < len(productslist) and user_choice >= 0:p_item = productslist[user_choice]if p_item[1] <= salary: #买得起shopping_list.append(p_item)salary -=p_item[1]print("加入 %s 购物车你的余额是\033[31;1m%s\033[0mRMB" %(p_item,salary))else:print("\033[32;1m 你的余额只剩[%s]RMB啦,还买个毛线\033[0m " %salary)else:print("\033[41;1m您输入的商品不存在,请重新输入!\033[0m")elif user_choice == 'q':print("----shopping_list----")for p in shopping_list:print(p)print("你的余额:\033[31;1m%s\033[0mRMB" %salary)#简单的余额记录f = open('salary','w+',encoding='utf-8')f.writelines(str(salary))f.closeexit()else:print("错误选项")
操作流程:
我的目录:
1、新建一个文件,名为 commodit 商品排列格式如下(自己可以更改商品名字或者价格)
2、运行商家入口测试功能
我们输入1,首先测试修改商品:
输入0,修改第一个商品价格为400:
退出后查看 commodit 文件看见商品价格已经修改
测试添加商品:
查看 commodit文件
测试买家入口:
有钱了那就先来一台Iphone
再来60包炉石卡包
按q退出结账!并且有一个salary文件记录余额
此时目录会多一个salary文件
点开就能看到余额已经被记录
声明:本文于网络整理,著作权归原作者所有,如有侵权,请联系小编删除。