python实践项目-shop

练习

  • 文件打开/保存
  • cmd应用
  • prettytable

场景

使用CMD程序,实现商店管理
python3+pycharm

源码

getPicke.py 初始化PICKLE

data="[[\"6953787355327\",\"晨光24色水彩笔\",\"25\"]]"
obj=open("libray/shop.pkl","w")
obj.write(data)
obj.close()

pklAdmin.py 管理

print("Shop1.0 Pkl File Admin Program")
import prettytable
while True:cmd=input(">>>")if cmd == "quit":print("exiting...")breakelif cmd == "exit":print("Do you want to exit now?")option=input("(y/<Other>)")if(option == "y" or option == "Y"):print("exiting...")breakelse:print("Canceled to exit")elif cmd == "read" or cmd == "Read":print("You Want To Read Commodities.")tobj=prettytable.PrettyTable(["Bar code","Trade name","Price(RMB)"])o=eval(open("libray/shop.pkl","r",encoding="gbk").read())for i in o:tobj.add_row(i)print(tobj)elif cmd == "add":print("You Want To Add a Commodity")s=input("Input Commodity Name...")p=input("Input Commodity Price...")b = input("Input Commodity Bar Code...")o = eval(open("libray/shop.pkl", "r",encoding="gbk").read())o.append([b,s,p])obj=open("libray/shop.pkl","w")obj.write(str(o))obj.close()print("Now,Add Right...")tobj=prettytable.PrettyTable(["Bar code","Trade name","Price(RMB)"])for i in o:tobj.add_row(i)print(tobj)elif cmd == "help":print("PklAdmin Document")print('''add:Add items to program directory.read/Read:Displays all saved items.exit:Quit program(can cancel).quit:Quit program(can't cancel)del/delete/remove:Remove items to program directory.help:Displays this.''')elif cmd == "del" or cmd == "delete" or cmd == "remove":print("You want to delete a commodity")b=input("Input Commodity Bar Code...")o = eval(open("libray/shop.pkl", "r", encoding="gbk").read())for i in o:if(i[0] == b):print("Find!",i)o.remove(i)print("Now,Remove Right...")tobj = prettytable.PrettyTable(["Bar code","Trade name","Price(RMB)"])for i in o:tobj.add_row(i)print(tobj)obj = open("libray/shop.pkl", "w")obj.write(str(o))obj.close()else:print("No such command!Please verify the input.")

main1.py 主程序

print("SHOP 1.0 COMMAND PROGRAM")
def get(b):o = eval(open("libray/shop.pkl", "r", encoding="gbk").read())for i in o:if(i[0] == b):return ireturn False
while True:print("input item times...")t=input("...")if(t == None or t == ""):breakt=int(t)sum_=0for i in range(t):p=get(input("Bar code..."))if(p == False):print("Don't have this item")continuesum_= sum_ + int(p[2])print(p[1],"RMB"+p[2])print("Sum is %d"%sum_)

详情请访问我的码云仓库
下个项目再见,See you

python实践项目-shop相关推荐

  1. python实践项目(九)

    项目:将一个文件夹备份到一个 ZIP 文件 假定你正在做一个项目,它的文件保存在C:\AlsPythonBook 文件夹中.你担心工作会丢失, 所以希望为整个文件夹创建一个ZIP 文件, 作为&quo ...

  2. python实践项目(七)

    项目1:生成随机的测验试卷文件 假如你是一位地理老师,班上有35 名学生, 你希望进行美国各州首府的一个小测验.不妙的是,班里有几个坏蛋,你无法确信学生不会作弊.你希望随机调整问题的次序, 这样每份试 ...

  3. Python实践项目——LSB隐写术

    一.项目背景 1.隐写术 隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容. 2.LSB 隐写术 LSB 隐写术是一种图像隐写术技 ...

  4. python实践项目(八)

    项目:将带有美国风格日期的文件改名为欧洲风格日期 假定你的老板用电子邮件发给你上千个文件,文件名包含美国风格的日期(MM-DD-YYYY),需要将它们改名为欧洲风格的日期(DD-MM-YYYY).手工 ...

  5. python实践项目(五)

    参考书目:<Python编程快速上手-让繁琐工作自动化>,下载地址:我是下载链接,请点击 练习1:口令保管箱 你可能在许多不同网站上拥有账号,每个账号使用相同的口令是个坏习惯.如果这些网站 ...

  6. python实践项目(四)

    练习1:好玩游戏的物品清单 你在创建一个好玩的视频游戏.用于对玩家物品清单建模的数据结构是一个字典.其中键是字符串,描述清单中的物品,值是一个整型值,说明玩家有多少该物品.例如,字典值{'rope': ...

  7. python实践项目(一)

    Collatz 序列:        要求1:编写一个名为 collatz()的函数,它有一个名为 number 的参数.如果参数是偶数,那么 collatz()就打印出 number // 2, 并 ...

  8. python实践项目(十一)

    1.从图像网站下载 编写一个程序,访问图像共享网站,如 Flickr 或 Imgur,查找一个类型的照片,然后下载所有查询结果的图像.可以编写一个程序,访问任何具有查找功能的图像网站. #-*-cod ...

  9. python实践项目(十)

    调试硬币抛掷 下面程序的意图是一个简单的硬币抛掷猜测游戏.玩家有两次猜测机会(这是一个简单的游戏).但是,程序中有一些缺陷.让程序运行几次,找出缺陷,使该程序能正确运行. import random ...

最新文章

  1. 大专计算机专业内容,大专计算机专业毕业论文参考范例
  2. C++中重载(overload)和重写(override)和隐藏
  3. python中count()方法
  4. Servlet的调试
  5. eclipse 搜索 正则表达式
  6. Kali中firefox浏览器设置中文
  7. Python随机梯度下降法(三)
  8. Android自定义控件之实现listview滑动时渐隐渐现顶部栏
  9. SLAM_怎么评价slam建图效果
  10. Windows10电脑进行拨号连接时,无法共享热点?如何解决?多次尝试后,终于解决了。
  11. java 视频边下边播_video src,如何边加载边播放?
  12. linux访问网络图片,linux网络图形监控方法
  13. 《Python自然语言处理》——1.1 语言计算:文本和词汇
  14. Android新手常见问题(一)
  15. matlab画图x轴
  16. java毕业设计云笔记管理系统Mybatis+系统+数据库+调试部署
  17. Springboot 使用设计模式- 策略模式
  18. STM32开发---F103系统时钟配置
  19. SEO关键词排名优化做到百度首页的核心操作
  20. 开始使用MarkDown

热门文章

  1. ExtJS 表格悬浮提示
  2. DM8060驱动器的使用
  3. MFC 类似控件数组实现方法
  4. The Cisco Systems,Inc. Service has not been started. Please start this service and try again.
  5. 使用性能测试工具TAU测试MPI程序记录
  6. 电商项目实战第六节: CSS3+HTML5+JS 设计案例【考拉海购网站】之【页底信息,网站备案信息】
  7. ORM映射框架总结--SQL 语句生成组件
  8. 天天都睡不醒?几个方法帮你摆脱“特困生”
  9. 知识付费运营管理后台Axure高保真原型
  10. 百年前的小学课本令人汗颜!