#此次购物车优化,主要使用了文件操作的相关方法,有买家入口,和商家入口

一、买家入口

1、买家第一次启动程序输入金额,金额会记录到文件里,再登录就读取文件里保存的金额,买家可以购买商品,按 ‘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)

二、商家入口

1、商家可以添加商品,和修改商品价格
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=='':
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

学习无止境,加油
 

最新文章

  1. 如何将页面的&lt;br/&gt;在Excel中正确换行
  2. APICloud开发App总结(一)
  3. Storm之spout,bolt编写
  4. 自定义jQuery插件Step by Step
  5. python 安装scrapy
  6. uploadify 下载组件使用技巧和在线预览 word,excel,ppt,pdf的方案
  7. 在iOS的XCode工程配置中为什么要用-all_load&amp;-ObjC
  8. java_内存划分
  9. lorem ipsum text占位符
  10. 2018/2/13 ElasticSearch学习笔记三 自动映射以及创建自动映射模版,ElasticSearch聚合查询
  11. 魔咒,90%未学满三个月Python编程的朋友都会出错!
  12. 获取任意链接文章正文 API 功能简介
  13. Maven中基于POM.xml的Profile来动态切换配置信息
  14. js对日期的判断
  15. 【LInux】统计某文件夹下目录的个数
  16. 面向对象【day07】:类的继承(七)
  17. Sublime Text 支持GBK , 解决中文乱码问题
  18. Toast信息提示:下拉收起(基于jQuery)(app信息提示更新)
  19. python里的字典和集合
  20. 从0开始接触html--第一天学习内容总结

热门文章

  1. HashMap底层分析
  2. python猜数字游戏快速求解解决方案
  3. Numpy入门(二):Numpy数组索引切片和运算
  4. ArrayList与LinkList对比
  5. Logback 标准xml参考
  6. SQL命令汇总
  7. Jprofile解析dump文件使用详解
  8. python 保存两位小数
  9. 什么是x86什么是x64 它们有什么区别
  10. Python左手画条龙右手画个彩虹