hulk-1029

需求:
1、实现对网上商城的商品上架

2、实现对网上商城的商品下架

3、实现对网上商城的商品更新价格功能

4、实现对网上商城的商品信息查询

要求:充分使用函数,请尽你的最大限度来减少重复代码!

  1 # -*- coding: utf-8 -*-
  2 
  3 import sys
  4 
  5 def readGoogs():
  6     \'\'\'读取商品文件\'\'\'
  7     try:
  8         with open(\'goodsList.txt\',\'r\') as f:
  9             goods=f.readlines()
 10     except:
 11         print("文件未存在!")
 12         sys.exit(-1)
 13     return goods
 14 
 15 def getGoods():
 16     \'\'\'获取商品信息\'\'\'
 17     good_list = []
 18     for good in readGoogs():
 19         good_list.append(good.split())
 20 
 21     return dict(good_list)
 22 
 23 def printGoods():
 24     \'\'\'打印商品\'\'\'
 25     print("商品列表如下:")
 26     for index,item in enumerate(readGoogs()):
 27         print "%s\t%s" % (index+1,item)
 28 
 29 
 30 def goodsShelves():
 31     \'\'\'商品上架\'\'\'
 32     name=raw_input("请输入要上架的商品名称")
 33     if getGoods().has_key(name):
 34         print(\'上架商品已存在!\')
 35         sys.exit(-1)
 36     price=raw_input("请输入该商品的价格")
 37     f = open(\'goodsList.txt\',\'a\')
 38     f.write(name + "\t" + price + "\n")
 39     print(\'已经将商品\033[31;1m%s\033[0m上架完成\') % name
 40     f.flush()
 41     f.close()
 42     printGoods()
 43 
 44 def goodDelete():
 45     \'\'\'商品下架\'\'\'
 46     name=raw_input("请输入要下架的商品名称")
 47     if getGoods().has_key(name):
 48         # 要先对文件读,再覆盖写入
 49         goods = readGoogs()
 50         with open(\'goodsList.txt\',\'w\') as f_w:
 51             for line in goods:
 52                 # 写入时跳过要下架的商品即可
 53                 if name in line:
 54                     continue
 55                 f_w.write(line)
 56         print(\'已经将商品\033[31;1m%s\033[0m下架完成\') % name
 57         printGoods()
 58 
 59     else:
 60         print(\'下架的商品不存在!\')
 61         sys.exit(-1)
 62 
 63 def goodModify():
 64     \'\'\'修改商品价格\'\'\'
 65     printGoods()
 66     name=raw_input("请输入要修改商品价格的名称")
 67     if getGoods().has_key(name):
 68         price=raw_input("请输入要修改商品的价格")
 69         goods = readGoogs()
 70         with open(\'goodsList.txt\',\'w\') as f_w:
 71             for line in goods:
 72                 # 写入时跳过要下架的商品即可
 73                 if name in line:
 74                     f_w.write(name+\'\t\'+price+\'\n\')
 75                     continue
 76                 f_w.write(line)
 77         printGoods()
 78     else:
 79         print(\'修改的商品不存在!\')
 80         sys.exit(-1)
 81 
 82 def goodSearch():
 83     \'\'\'商品搜索\'\'\'
 84     name=raw_input("请输入搜索商品名称")
 85     if getGoods().has_key(name):
 86         for line in readGoogs():
 87             if name in line:
 88                 print("搜索的商品价格为:%s" % line)
 89                 break
 90     else:
 91         print(\'搜索的商品不存在!\')
 92         sys.exit(-1)
 93 
 94 def userChoice():
 95     \'\'\'用户选择\'\'\'
 96     print("欢迎登录XXX系统后台,请选择操作")
 97     print("1、商品上架")
 98     print("2、商品下架")
 99     print("3、修改商品价格")
100     print("4、商品查询")
101     print("5、退出")
102     choice = raw_input(\'请选择:\')
103     if choice.isdigit():
104         choice = int(choice)
105         if 1 == choice:
106             goodsShelves()
107         elif 2 == choice:
108             goodDelete()
109         elif 3 == choice:
110             goodModify()
111         elif 4 == choice:
112             goodSearch()
113         elif 5 == choice:
114             print("谢谢使用!")
115             sys.exit(-1)
116         else:
117             print("输入有误,请重新输入")
118             userChoice()
119     else:
120         print("请输入有效数字!")
121         userChoice()
122 
123 if __name__ == \'__main__\':
124     userChoice()

 

分类:

技术点:

相关文章:

  • 2021-11-23
  • 2021-11-28
  • 2021-10-30
  • 2021-08-30
  • 2021-10-13
  • 2021-11-22
  • 2021-11-09
猜你喜欢
  • 2021-03-31
  • 2021-08-02
  • 2021-10-25
  • 2022-01-20
  • 2021-07-16
  • 2021-07-29
  • 2021-08-13
相关资源
相似解决方案