'''作者:潘富家
功能:
用户接口
商品信息存在文件里
已购商品, 余额记录
版本:1.0
创建时间:忘了'''
importos
product_list= [] #商品信息
user_list = [] #用户信息
product_file_text = 'product.csv'#商品表名
user_file_text = 'user_information.csv' #用户表名
if notos.path.isfile(product_file_text):
with open(product_file_text,'w') as product_file:
text= '''product,money
IPhone,5800
Mac Pro,9800
Bike,800
Watch,10600
Coffee,31
Alex Python,5800'''product_file.write(text)if notos.path.isfile(user_file_text):
with open(user_file_text,'w') as user_file:
user_file.write('user,money,shopping_information')
with open(product_file_text,'r') as product_file:#取出商品信息表
p_f = product_file.read().split('\n')for i inp_f:if len(i) >1:
text= i.split(',')
product_list.append(text)for i in range(1,len(product_list)):#对商品价格进行类型转换(文档默认为string)
product_list[i][1] = int(product_list[i][1])
with open(user_file_text,'r') as user_file:#用户信息录入
u_f = user_file.read().split('\n')for i inu_f:
text= i.split(',')
user_list.append(text)print(product_list)print(user_list)
shopping_list= []#记录步骤
bool =False
user= input('请输入用户')for i inuser_list:if user ini[0]:
salary= i[1]
bool=Trueif notbool:
salary= input('Input yor salary:')ifsalary.isdigit():
salary=int(salary)whileTrue:for index,item in enumerate(product_list[1:]):print(index,item)
user_choice= input('选择要买嘛?>>>:')if user_choice.isdigit():#判断编号是否为数字
user_choice = int(user_choice)+1
if user_choice < len(product_list) and user_choice >= 0 :#编号范围从0到数组长度-1
p_item = product_list[user_choice] #获取正确商品编号的元组
if p_item[1] <= salary:#买得起
shopping_list.append(p_item)#记录添加
salary -= p_item[1]print("Added %s into shopping cart,your current balance is \033[31:1m%s\033[0m" %(p_item[0],p_item[1]))else:# print('\033[41:1m你的余额只剩[%s]啦,还买个毛线\033[0m'%salary)else: #不存在商品编号
print("product code [%s] is not exist!"%user_choice)elif user_choice == 'q':#退出 输出购买商品以及剩余余额
print('shopping list'.center(40,'-'))
with open(user_file_text,'w') as user_file:#用户文件写入
text_s = ''#购买信息存储
for p inshopping_list:#print(p)
text_s += "{}:{}".format(p[0],p[1])if notbool:
user_list.append([user, salary,text_s])for i inuser_list:if len(i) ==3:if i[0] == user:#当用户为用户表用户
#print(i[2])
#print(text_s)
text_s = i[2] + text_s#本次购买信息 加上之前购买信息
i[1] = str(salary)#更新工资
i[2] =text_s
user_file.write('{},{},{}\n'.format(i[0],i[1],i[2]))#写入用户信息表
'''user_dict = {abc[i]:user_list[0][i] for i in range(len(user_list[0]))}
print(user_dict)
user_file.write('{a},{b},{c}'.format_map(user_dict))
user_file.write('{},{},{}'.format(user,str(salary),text_s))'''
print("user:"+user)print("Your current balance:",salary)
exit()else:print('invalid option')