<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了Python實現倉庫管理系統的具體程式碼,供大家參考,具體內容如下
注意:在Linux環境執行
程式碼
#!/usr/bin/env python # -*- coding:utf-8 -*- # @FileName :store_system.py # @Time :2020/3/3 23:10 # @Author :anqixiang # @Function :模擬倉庫管理系統 ''' 1.商品清單儲存在/opt/shop_info.txt檔案中 2.可以檢視、增加、刪除商品和修改商品價格 3.在任何位置輸入b返回上級選單,輸入q退出 ''' import os from subprocess import run #輸出顏色 def cecho(num,content): print(' 33[%sm%s 33[0m' %(num, content)) #選b返回上一層,選q退出 def choice_action(action): while action != "b": if action == "q": exit(0) else: break return action #展示商品 def view_shop(file_name): commodity = [] #所有商品儲存到該列表 if not os.path.isfile(file_name): os.mknod(file_name) else: with open(file_name, 'r') as file: for each in file: commodity.append(each.splitlines()) if len(commodity) == 0: cecho(35, "貨倉空空如也,請速速新增商品!") #列印商品資訊 else: print('%-10s%-8s%-12s' % ('序號', '名字', '價格')) for index, value in enumerate(commodity): alist = value[0].split(":") #把字串轉成列表,以「:」分割 print('%-12s%-10s%-8s' % (index + 1, alist[0], alist[1])) return commodity #增加商品,每增加一個就儲存到檔案 def add_shop(file_name): while True: add_dict = {} shop_name = input(">>>輸入商品名:").strip() if choice_action(shop_name) == "b": break shop_price = input(">>>輸入商品價格(元):").strip() if choice_action(shop_price) == "b": break elif shop_price.isdigit(): add_dict[shop_name] = shop_price #商品名作key,價格作值,存入字典 for i in add_dict: with open(file_name, 'a+')as file: file.write('%s:%sn' % (i, add_dict[i])) print(" 33[92m%s存入成功 33[0m" % shop_name) view_shop(file_name) else: cecho(31, "Invalid Option") #刪除商品 def del_shop(file_name): menu_info = "商品清單" print(menu_info.center(26,'-')) commodity = view_shop(file_name) while True: del_num = input(">>>商品序號:").strip() if choice_action(del_num) == "b": break elif del_num.isdigit(): del_num = int(del_num) rc = run("sed -i '/%s/d' %s" % (commodity[del_num-1][0], file_name), shell=True) if not rc.returncode: cecho(92, "刪除成功") else: cecho(31,"刪除失敗") view_shop(file_name) else: cecho(31, "Invalid Option") #修改商品價格 def update_price(file_name): menu_info = "商品清單" print(menu_info.center(26,'-')) commodity = view_shop(file_name) while True: update_num = input(">>>商品序號:").strip() if choice_action(update_num) == "b": break elif update_num.isdigit(): update_num = int(update_num) else: cecho(31, "Invalid Option") new_price = input(">>>新的價格(元):").strip() if choice_action(new_price) == "b": break elif new_price.isdigit(): new_price = int(new_price) alist = commodity[update_num-1][0].split(':') #將商品名和價格轉成一個列表,如['coffee', '30'] alist[1] = new_price #修改價格 rc = run("sed -i '/%s/c %s:%s' %s" % (alist[0], alist[0], alist[1], file_name), shell=True) if not rc.returncode: cecho(92, "修改成功") else: cecho(31,"修改失敗") view_shop(file_name) else: cecho(31, "Invalid Option") #主程式 def show_menu(): cmds = {'0': view_shop, '1': add_shop, '2': del_shop, '3': update_price} prompt = '''(0)檢視商品資訊 (1)增加商品 (2)刪除商品 (3)修改商品價格 (b)返回上級選單 (q)退出 輸入(0/1/2/3/b/q):''' fname='/opt/shop_info.txt' #儲存商品資訊 while True: choice = input(prompt).strip() if choice not in '0123bq': cecho(31, "Invalid Option") elif choice_action(choice) == "b": cecho(31, "已經是第一級選單") else: cmds[choice](fname) if __name__ == "__main__": try: show_menu() except KeyboardInterrupt as e: print() cecho(31, "非正常退出,請下次輸入字母q進行退出!")
效果圖
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45