1. 请设计实现一个商城系统,商城主要提供两个功能:商品管理、会员管理。
  2.  
  3. 商品管理:
  4.  
  5. - 查看商品列表
  6. - 根据关键字搜索指定商品
  7. - 录入商品
  8.  
  9. 会员管理:【无需开发,如选择则提示此功能不可用,正在开发中,让用户重新选择】
  10.  
  11. '''
  12.  
  13. def goods_manage():# 查看商品管理目录
  14. print("欢迎使用老子的购物商城【商品管理】".center(30,"*"))
  15. print('''
  16. 1.查看商品列表
  17. 2.根据关键字搜索指定商品
  18. 3.录入商品
  19. ''')
  20.  
  21. def goods_list(): # 查看商品列表
  22. print("欢迎使用老子的购物商城【商品管理】【查看商品列表】".center(30, "*"))
  23. with open("goods.txt",mode="r",encoding="utf-8")as file: #读取所有商品
  24. content=file.read()
  25. content=content.strip()
  26. print(content)
  27. while True:
  28. num = input("请选择(输入N返回上一级:)")
  29. if num.upper() == "N":
  30. return goods_manage()
  31. def goods_search(): # 根据关键字模糊搜索指定商品
  32. print("欢迎使用老子的购物商城【商品管理】【根据关键字搜索】".center(30, "*"))
  33. with open("goods.txt", mode="r", encoding="utf-8")as file:
  34. content = file.read()
  35. content_list = content.strip().split("\n")
  36. while True:
  37. key_word = input("请输入要查询的关键字(输入N返回上一级:):")
  38. for i in content_list:
  39. if key_word in i:
  40. print(i)
  41. if key_word.upper() == "N":
  42. return goods_manage()
  43.  
  44. def goods_record(): # 录入商品
  45. print("欢迎使用老子的购物商城【商品管理】【录入商品】".center(30, "*"))
  46. while True:
  47. info = []
  48. with open("goods.txt", mode="a", encoding="utf-8")as file:
  49. good_name = input("请输入商品名称(输入N返回上一级:):")
  50. if good_name.upper() =="N":
  51. return goods_manage()
  52. info.append(good_name)
  53. good_price = input("请输入商品价格):")
  54. info.append(good_price)
  55. good_count= input("请输入商品数量:")
  56. info.append(good_count)
  57. file.write(" ".join(info)+"\n")
  58. print("添加成功")
  59. return goods_record()
  60.  
  61. while True:
  62. num=input("请选择(输入N返回上一级:)")
  63. if num.upper()=="N":
  64. return function_list()
  65. elif num=="1":
  66. return goods_list()
  67. elif num=="2":
  68. return goods_search()
  69. elif num=="3":
  70. return goods_record()
  71. def vip_manage():
  72. print("功能正在开发中哦,亲。请重新选择")
  73. return function_list()
  74.  
  75. def function_list():
  76. print("欢迎使用老子的购物商城".center(30,"*"))
  77. print('''
  78. 1.商品管理
  79. 2.会员管理(不可选,正在开发中)
  80. ''')
  81. while True:
  82. num=input("请选择(输入N返回上一级:)")
  83. if num.upper()=="N":
  84. return function_list()
  85. if num=="1":
  86. return goods_manage()
  87. if num=="2":
  88. return vip_manage()
  89.  
  90. function_list()
  91.  
  92.  
                                     2019.4.13 Am 10:00--Am12:00
    写完代码有感:
    一次性写了这么多代码,功能也可以实现,虽然还有很多可以优化的地方,但是写完,那种兴奋,愉悦。很久都没有体会到了,必须记录一下。
    要有不怕喷的勇气,敢于把自己的作品展示出阿来,敢于把自己的想法说出来,不断改进,不断优化,没有最好,只有更好。
    程序猿使命:等我熬尽一日苦,喂你一口甜。为人民服务

  

【记录一下】从0到1 我的python开发之路的更多相关文章

  1. Webstorm 下的Angular2.0开发之路

    人一旦上了年纪,记忆力就变得越来越不好. 最近写了许多的博文,倒不是为了给谁看,而是方便自己来搜索,不然一下子又忘记了. 如果恰巧帮助到了你,也是我的荣幸~~~~~~~~~~~~ 废话不多说,看正题~ ...

  2. 错误:违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条

    在access的mdb数据库动态更新的过程中,遇到了DeleteCommand出现DBConcurrencyException异常,错误:违反并发性: DeleteCommand 影响了预期 1 条记 ...

  3. 违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条 解决办法

    本文转载:http://www.cnblogs.com/litianfei/archive/2007/08/16/858866.html UpdateCommand和DeleteCommand出现DB ...

  4. FPC报价模块配置 UpdateCommand影响了预期 1 条记录中的 0 条 解决办法

    今天在增加P4厂 FPC报价模块配置,增加刚挠信息节点,在保存时报错:UpdateCommand影响了预期 1 条记录中的 0 保存时使用:SqlDataAdapter批量更新DataTable,怎么 ...

  5. [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP叠加图

    关于如何移植在android上使用SDL,可以参考[原]零基础学习SDL开发之移植SDL2.0到Android 和 [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 . 在一篇 ...

  6. [vue折线图] 记录SpringBoot+Vue3.0折线图订单信息展示

    因公司业务需求,需要做一份订单相关的折线图, 如果其中有一天没有订单的话,这一天就是空缺的,在绘制折线图的时候是不允许的,所有要求把没有订单数据的日期也要在图表显示. 使用技术vue3.0+sprin ...

  7. 批量添加删除Windows server DNS服务 恶意域名 * A记录 指向 127.0.0.1(2019年6月5日更新)

    下载链接:https://pan.baidu.com/s/1OUHyvnIfXYF0PdiT-VRyHw  密码:7gjj 注意!本解决方案在本地的Windows server服务器上把恶意域名指向1 ...

  8. Libvirt 版本降级过程记录 4.5.0 to 3.9.0

    前言 搞 OpenStack 开发 Libvirt 版本会随着 OpenStack 版本切来切去的,记录一下 Libvirt 从 4.5 降级到 3.9.0 的过程. 步骤 直接 downgrade ...

  9. 记录一下Swift3.0的一些代码格式的变化

    一.去重: 1>颜色: UIColor.whiteColor() 被改为 UIColor.white() 2>数组取值: list.objectAtIndex(i) 被改为 list.ob ...

随机推荐

  1. 带坑的几道PHP面试题

    第二题 代码如下: $i='11'; printf("%d\n",printf("%d",printf("%d",$i))); 输出结果是多 ...

  2. Log4j 记录error 日志

    第一个bug的起始,是在线上日志发现一个频繁打印的异常——java.lang.ArrayIndexOutOfBoundsException.但是却没有堆栈,只有一行一行的ArrayIndexOutOf ...

  3. IOS AppStore上线前测试

    IOS  AppStore上线前测试 TestFlight Beta ios 8才开始支持. https://developer.apple.com/library/ios/documentation ...

  4. 关于uboot的一些优化

    转载于:http://blog.163.com/solylee@126/blog/static/1718231572010101910485331/ 本人的开发环境是u-boot-1.1.6版本,fe ...

  5. c++对象模型探索(一)

    粗略阅读了<深度探索c++对象模型>一书后,对c++对象底层的内存布局有了一些了解,但同时,也产生了一些疑惑: 1.将子类指针用dynamic_cast转成父类指针之后,其虚表指针会相应变 ...

  6. win10右击windows键没有反应解决方案(1707版本)

    按Win+R打开运行,输入“regedit”打开注册表编辑器. 2.在“HKEY_CLASSES_ROOT”主键下找到“linkfile”或者".lnkfile"字符串值项,在右侧 ...

  7. c语言输入数据

    比如要求输入一行数据(注意:没有给出输入多少个),并且以空格隔开那么就可以如下进行判断 '; ],temp,i=; while(c!='\n') { scanf("%d%c",&a ...

  8. p3584 [POI2015]LAS

    传送门 分析 f[i][S](S∈[0,4])表示第iii个食物没有被选/左边选/右边选/同时选的状态是由哪一个状态转移来的 我们需要满足两个条件: 每个人只能选择一个  改变选择之后不会比当前获得热 ...

  9. CF 959E Mahmoud and Ehab and the xor-MST

    第一反应是打表找规律……(写了个prim)但是太菜了没找到 于是开始怀疑是不是我的表错了,又写了一个克鲁斯卡尔,然后结果是一样的……(捂脸) 后来从克鲁斯卡尔的算法上发现了一点东西,发现只有2的幂次长 ...

  10. Ubuntu 切换到桌面 快捷键设置

    设置完以上步骤后,这接windows系统键+d,即可切换到桌面. ps:按Alt+Tab键,可以切换到自己想要的图标进程.