欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)超市管理系統(tǒng)(后臺管理)

 更新時(shí)間:2022年06月02日 13:47:47   作者:哼嘿哈嘿  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)超市管理系統(tǒng),增加后臺管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python實(shí)現(xiàn)超市管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

這個(gè)相比上個(gè)程序簡單很多,首先他沒有太過復(fù)雜的邏輯關(guān)系,它的邏輯線條很清晰,你能很清楚的知道要做什么,只要往自己想的方面實(shí)現(xiàn)就行,代碼如下

# coding: utf-8
# 定義倉庫
repository = dict()
# 定義購物清單對象
shop_list = []
# 定義倉庫里商品數(shù)量
shangpin = [["1000001", "你好世界", 88.0, 10], \
["1000002", "瘋狂python講義", 69.0, 12],\
["1000003", "康復(fù)手冊", 59.0, 188],\
["1000004", "瘋狂Java講義", 109.0, 56],\
["1000005", "瘋狂Android講義", 108.0, 100],\
["1000006", "世界起源", 77.0, 122]]
# 定義一個(gè)函數(shù)來初始化商品
def init_repository():
 # 遍歷商品生成倉庫dict字典
 for i in range(len(shangpin)) :
 repository[shangpin[i][0]] = shangpin[i]
#顯示超市的商品清單,就是遍歷代表倉庫的dict字典
def show_goods():
 print("歡迎來到 哼嘿哈嘿樂園")
 print('哈嘿樂園的商品清單:')
 print("%13s%40s%10s%10s" % ("條碼", "商品名稱", "單價(jià)","數(shù)量"))
 # 遍歷repository的所有value來顯示商品清單
 for s in repository.values():
 s = tuple(s)
 print("%15s%40s%12s%12s" % s)
# 顯示購物清單,就是遍歷代表購物清單的list列表
def show_list():
 print("=" * 100)
 # 如果清單不為空的時(shí)候,輸出清單的內(nèi)容
 if not shop_list:
 print("還未購買商品")
 else:
 title = "%-5s|%15s|%40s|%10s|%4s|%10s" % \
  ("ID", "條碼", "商品名稱", "單價(jià)", "數(shù)量", "小計(jì)")
 print(title)
 print("-" * 100)
 # 記錄總計(jì)的價(jià)錢
 sum = 0
 # 遍歷代表購物清單的list列表
 for i, item in enumerate(shop_list,start=1):
  # 轉(zhuǎn)換id為索引加1
  id = i 
  # 獲取該購物項(xiàng)的第1個(gè)元素:商品條碼
  code = item[0]
  # 獲取商品條碼讀取商品,再獲取商品的名稱
  name = repository[code][1]
  # 獲取商品條碼讀取商品,再獲取商品的單價(jià)
  price = repository[code][2]
  # 獲取該購物項(xiàng)的第2個(gè)元素:商品數(shù)量
  number = item[1]
  # 小計(jì)
  amount = price * number
  # 計(jì)算總計(jì)
  sum = sum + amount
  line = "%-5s|%17s|%40s|%12s|%6s|%12s" % \
  (id, code, name, price, number, amount)
  print( line )
 print("-" * 100)
 print("    總計(jì): " , sum)
 print("=" * 100)
# 添加購買商品,就是向代表用戶購物清單的list列表中添加一項(xiàng)。
def add():
 # 等待輸入條碼
 code = input("請輸入商品的條碼:\n")
 # 沒有找到對應(yīng)的商品,條碼錯(cuò)誤
 if code not in repository:
 print("條碼錯(cuò)誤,請重新輸入")
 return 
 # 根據(jù)條碼找商品
 goods = repository[code]
 # 等待輸入數(shù)量
 number = input("請輸入購買數(shù)量:\n")
 # 把商品和購買數(shù)量封裝成list后加入購物清單
 shop_list.append([code, int(number)])
# 修改購買商品的數(shù)量,就是修改代表用戶購物清單的list列表的元素
def edit():
 id = input("請輸入要修改的購物明細(xì)項(xiàng)的ID:\n")
 # id減1得到購物明細(xì)項(xiàng)的索引
 index = int(id) - 1
 # 根據(jù)索引獲取某個(gè)購物明細(xì)項(xiàng)
 item = shop_list[index]
 # 提示輸入新的購買數(shù)量
 number = input("請輸入新的購買數(shù)量:\n")
 # 修改item里面的number
 item[1] = int(number)
# 刪除購買的商品明細(xì)項(xiàng),就是刪除代表用戶購物清單的list列表的一個(gè)元素。
def delete():
 id = input("請輸入要?jiǎng)h除的購物明細(xì)項(xiàng)的ID: ")
 index = int(id) - 1
 # 直接根據(jù)索引從清單里面刪除掉購物明細(xì)項(xiàng)
 del shop_list[index]
def payment():
 # 先打印清單
 show_list()
 print('\n' * 3)
 print("歡迎下次光臨")
 # 退出程序
 import os
 os._exit(0) 
# 后臺添加商品函數(shù)
def adds():
 # 獲取要添加的商品信息
 a = input("請輸入商品條碼:")
 b = input('請輸入商品名稱:')
 c = input('請輸入商品單價(jià):')
 d = input('請輸入商品數(shù)量:')
 # 添加到商品列表
 shangpin.append([a,b,c,d])
 # 重新打印商品清單
 init_repository()
 show_goods()
# 后天修改商品屬性函數(shù)
def edits():
 a = input("請輸入商品條碼:")
 # 獲取此商品條碼的新的值
 if a in repository.keys():
 e = input("請輸入修改后商品名字:")
 f = input("請輸入修改后商品單價(jià):")
 g = input("請輸入修改后商品數(shù)量:")
 repository.update({a:[a,e,f,g]})
 print(repository[a])
 show_goods()
 else:
 print('輸入條碼有誤')
def deletes():
 h = input('請輸入您要下架商品條碼:')
 # 直接根據(jù)條碼從倉庫里面刪除掉此商品
 repository.pop(h)
 show_goods()
# 重新打印商品清單
def show_good():
 show_goods()
# 后臺支持的操作
cmd_dicts = {'a': adds, 'e': edits, 'd': deletes, 's': show_good, 'q': quit}
def root():
 # 先打印清單
 show_goods()
 print("歡迎進(jìn)入超市貨品管理平臺")
 print("=" * 100)
 while True:
 cmds = input("后臺操作指令: \n" +
  " 添加商品(a) 修改商品(e) 刪除商品(d) 全部商品(s) 退出(q)\n") 
 if cmds == 'q' :
  return
 elif cmds not in cmd_dicts:
  print("好好玩,行嗎!")
 else:
  cmd_dicts[cmds]()
# 用戶所支持的操作
cmd_dict = {'a': add, 'e': edit, 'd': delete, 'p': payment, 's': show_goods, 'r': root }
# 初始倉庫并展示
init_repository()
show_goods()
# 顯示命令提示
def show_command():
 # 等待命令
 cmd = input("用戶操作指令: \n" +
 " 添加(a) 修改(e) 刪除(d) 結(jié)算(p) 超市商品(s) 后臺管理(r)\n")
 # 如果用戶輸入的字符沒有對應(yīng)的命令 
 if cmd not in cmd_dict:
 print("不要玩,好不好!")
 else:
 cmd_dict[cmd]()
# 顯示清單和操作命令提示
while True:
 show_list()
 show_command()

結(jié)語:

新增了后臺處理,但是代碼還是很不完善,還有很多問題存在,這只是大概的思路,希望能給小伙伴們點(diǎn)啟發(fā)
小伙伴們?nèi)绻胁磺宄牡胤秸埩粞?,我們共同進(jìn)步

感謝:

本文源碼參考瘋狂python講義

更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 網(wǎng)絡(luò)編程之TCP客戶端/服務(wù)端功能示例【基于socket套接字】

    Python 網(wǎng)絡(luò)編程之TCP客戶端/服務(wù)端功能示例【基于socket套接字】

    這篇文章主要介紹了Python 網(wǎng)絡(luò)編程之TCP客戶端/服務(wù)端功能,結(jié)合實(shí)例形式分析了Python使用socket套接字實(shí)現(xiàn)TCP協(xié)議下的客戶端與服務(wù)器端數(shù)據(jù)傳輸操作技巧,需要的朋友可以參考下
    2019-10-10
  • python 實(shí)現(xiàn)簡單的FTP程序

    python 實(shí)現(xiàn)簡單的FTP程序

    這篇文章主要介紹了python 實(shí)現(xiàn)簡單的FTP程序,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python利用柯里化實(shí)現(xiàn)提高代碼質(zhì)量

    Python利用柯里化實(shí)現(xiàn)提高代碼質(zhì)量

    柯里化(Currying)是函數(shù)式編程中的一個(gè)重要概念,它可以將一個(gè)多參數(shù)函數(shù)轉(zhuǎn)化為一系列單參數(shù)函數(shù)的組合,本文將詳細(xì)解釋什么是柯里化,如何在Python中實(shí)現(xiàn)柯里化,感興趣的可以了解下
    2024-01-01
  • 使用Python的Turtle繪制哆啦A夢實(shí)例

    使用Python的Turtle繪制哆啦A夢實(shí)例

    今天小編就為大家分享一篇使用Python的Turtle繪制哆啦A夢實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python圖像增強(qiáng)imgaug詳解

    Python圖像增強(qiáng)imgaug詳解

    Imgaug 是一個(gè)開源 python 包,可讓你在機(jī)器學(xué)習(xí)實(shí)驗(yàn)中增強(qiáng)圖像,它適用于各種增強(qiáng)技術(shù),它有一個(gè)簡單而強(qiáng)大的界面,可以增強(qiáng)圖像、地標(biāo)、邊界框、熱圖和分割圖,這篇文章主要介紹了Python圖像增強(qiáng)imgaug,需要的朋友可以參考下
    2022-11-11
  • django項(xiàng)目搭建與Session使用詳解

    django項(xiàng)目搭建與Session使用詳解

    這篇文章主要給大家介紹了關(guān)于django項(xiàng)目搭建與Session使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • python中刪除某個(gè)元素的方法解析

    python中刪除某個(gè)元素的方法解析

    這篇文章主要介紹了python中刪除某個(gè)元素的方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python實(shí)現(xiàn)身份證實(shí)名認(rèn)證的方法實(shí)例

    python實(shí)現(xiàn)身份證實(shí)名認(rèn)證的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)身份證實(shí)名認(rèn)證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 對python for 文件指定行讀寫操作詳解

    對python for 文件指定行讀寫操作詳解

    今天小編就為大家分享一篇對python for 文件指定行讀寫操作詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

    Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

    這篇文章主要介紹了Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本(郵件+釘釘通知),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評論