python-文件操作-之优化购物车

python学习网 2020-03-02 11:32:02

#此次购物车优化,主要使用了文件操作的相关方法。

#有买家入口,和商家入口

#买家入口

#买家第一次启动程序输入金额,金额会记录到文件里,再登录就读取文件里保存的金额,买家可以购买商品,按 ‘q’ 退出后显示购买的商品和余额,并保存购买过的商品和余额。


global data
global userinformation
money=''
data='data.txt'
userinformation='userinformation.txt'
mgoods=[]
exit_flag = False
def shuoppxit(money):
if money.isdigit():
while not exit_flag:
for index, item in enumerate(goods):
print(index, item)
numbres = input("输入购买商品的序号:")
if numbres.isdigit():
numbres = int(numbres)
if numbres< len(goods) and numbres >=0:
money = int(money)
numbres_goods=goods[numbres][1]
if money >= numbres_goods:
money=money-numbres_goods
goods[numbres].append('余额')
goods[numbres].append(money)
print(goods[numbres])
mgoods.append(goods[numbres])
f = open(userinformation, 'w+', encoding='utf-8')
f.write(str(mgoods))
f.close()
print('购买商品成功:'+goods[numbres][0])
print('剩余金钱:\033[31;1m %s \33[0m' % money )
else:
print('余额不足!')
elif numbres=='q' or numbres=='Q':
print('你购买的商品如下:')
f = open(userinformation, 'r', encoding='utf-8')
data2 = f.read()
goods2 = eval(data2)
for i in goods2:
print(i)
break
else:
print('输入错误!!')
else:
print('输入错误!!,重新输入')

f = open(data,'r',encoding='utf-8')
data2 = f.read()
goods = eval(data2)

f = open(userinformation,'r',encoding='utf-8')
data2 = f.read()
if data2 !='':
usernames = eval(data2)
money= usernames[0][3]
money=str(money)
shuoppxit(money)
else:
money = input("输入你的钱:")
shuoppxit(money)

#商家入口
#商家可以添加产品,和修改价格

global data
money=''
data='data.txt'
mgoods=[]
exit_flag = False

f = open(data,'r',encoding='utf-8')
data2 = f.read()
goods = eval(data2)
print(goods)
while not exit_flag:
choice=input('1、添加商品 2、修改价格:')
if choice.isdigit():
if choice=='1':
name=input('输入商品名:')
price=input('输入价格:')
mgoods.append(name)
mgoods.append(price)
goods.append(mgoods)
f = open(data, 'w', encoding='utf-8')
f.write(str(goods))
f.close()
print(goods)
else:
for index, item in enumerate(goods):
print(index, item)
numbres = input("输入修改商品的序号:")
if numbres.isdigit():
numbres = int(numbres)
if numbres < len(goods) and numbres >= 0:
jiage = input("输入修改商品价格:")
if jiage.isdigit():
jiage = int(jiage)
goods[numbres][1]= jiage
f = open(data, 'w', encoding='utf-8')
f.write(str(goods))
f.close()
print(goods)
exit_flag=True


学习无止境,加油
 

 

阅读(2333) 评论(0)