请设计实现一个商城系统开发v2.0【代码优化】
#!/usr/bin/env python 优化的部分:1.改用字典取键,来调用函数【原来是用if-else判断】 【补充】:也可以用列表,按索引取,可以在列表最前面加一个“”任意元素,凑成一个。就和缩影对上了
# -*- coding:utf-8 -*-
2.直接return 不再 return func(),这样写不好,返回值是None。改完以后 return 执行直接跳回while循环
3.返回上一级改成 用if 判断 + continue 增加了输入其他内容报 “输入有误”
def goods_list(): 所有函数功能调用都在父级函数下的while循环里调用的
'''
# 查看商品列表
:return:
'''
print("欢迎使用老子的购物商城【商品管理】【查看商品列表】".center(30, "*"))
with open("goods.txt",mode="r",encoding="utf-8")as file: #读取所有商品
content=file.read()
content=content.strip().split("\n")
total_lengh=len(content)
# 分页展示
pages,remainder=divmod(total_lengh,10)
if remainder>0:
pages+=1
while True:
option=input("请输入要看的页数(输入N返回上一级:):")
if option.upper() == "N":
return
if int(option)<0 or int(option)>pages:
print("页码不输入有误")
continue
x=(int(option)-1)*10
y=int(option)*10
print("这是第%s页"%option)
for i in content[x:y]:
print(i) def goods_search():
'''
# 根据关键字模糊搜索指定商品 :return:
''' print("欢迎使用老子的购物商城【商品管理】【根据关键字搜索】".center(30, "*"))
with open("goods.txt", mode="r", encoding="utf-8")as file:
content = file.read()
content_list = content.strip().split("\n")
while True:
key_word = input("请输入要查询的关键字(输入N返回上一级:):")
for i in content_list:
if key_word in i:
print(i)
if key_word.upper() == "N":
return
def goods_record():
'''
# 录入商品
:return:
'''
print("欢迎使用老子的购物商城【商品管理】【录入商品】".center(30, "*"))
while True:
info = []
with open("goods.txt", mode="a", encoding="utf-8")as file:
good_name = input("请输入商品名称(输入N返回上一级:):")
if good_name.upper() =="N":
return
info.append(good_name)
good_price = input("请输入商品价格):")
info.append(good_price)
good_count= input("请输入商品数量:")
info.append(good_count)
file.write(" ".join(info)+"\n")
print("添加成功") def goods_manage():
'''
查看商品管理目录
:return:
'''
goods_manage_list={"":goods_list,"":goods_search,"":goods_record,"N":function_list}
while True:
print("欢迎使用老子的购物商城【商品管理】".center(30, "*"))
print('''
1.查看商品列表
2.根据关键字搜索指定商品
3.录入商品
''')
num1=input("请选择(输入N返回上一级:)")
if not goods_manage_list.get(num1):
print("输入有误,请重新输入")
continue
goods_manage_list.get(num1)() #调用功能 结束以后 继续返回执行 while循环 def vip_manage():
'''
#会员管理
:return:
''' print("功能正在开发中哦,亲。请重新选择\n") def function_list():
'''
#总功能列表
:return:
'''
function_list_dict={"":goods_manage,"":vip_manage,"N":function_list,'e':exit} #输入 e 直接退出程序
while True:
print("欢迎使用老子的购物商城".center(30, "*"))
print(" 1.商品管理 2.会员管理(不可选,正在开发中)")
num=input("请选择(输入N返回上一级:)")
if not function_list_dict.get(num):
print("输入有误,请重新输入")
continue
function_list_dict.get(num)() function_list()
请设计实现一个商城系统开发v2.0【代码优化】的更多相关文章
- 微信小程序购物商城系统开发系列-目录结构
上一篇我们简单介绍了一下微信小程序的IDE(微信小程序购物商城系统开发系列-工具篇),相信大家都已经蠢蠢欲试建立一个自己的小程序,去完成一个独立的商城网站. 先别着急我们一步步来,先尝试下写一个自己的 ...
- 微信小程序购物商城系统开发系列
微信小程序购物商城系统开发系列 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统. ...
- 途虎养车Tuhu商城系统开发
途虎养车Tuhu商城系统开发,咨询:何经理152-2217-7508(微信同号)途虎养车商城小程序开发,途虎养车商城小程序平台开发,途虎养车商城小程序系统开发. 为什么能做得这么好,里面的门道确实不少 ...
- 微信小程序购物商城系统开发系列-工具篇
微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统.新的生态,未来大部分应用场景都将 ...
- SSM商城系统开发笔记-配置01-web.xml
先占坑 慢慢填, 商城系统使用主体框架:Spring + Spring MVC + Mybatis 其他框架: 日志: slf4j + logback <!DOCTYPE web-app PUB ...
- 百度离线地图API开发V2.0版本
全面介绍,请看下列介绍地址,改写目前最新版本的百度V2.0地图,已全面实现离线操作,能到达在线功能的95%以上 http://api.jjszd.com:8081/apituiguang/gistg. ...
- [leetcode]355. Design Twitter设计实现一个微博系统
//先定义一个数据结构,代表一条微博,有两个内容:发布者id,微博id(代表微博内容) class TwitterData { int userId; int twitterId; public Tw ...
- SSM商城系统开发笔记-问题02- Error creating bean with name 'userController'
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean wit ...
- SSM商城系统开发笔记-问题01-通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明。
配置搭建完后进行Post请求测试时报错: Caused by: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 29; cvc ...
随机推荐
- PHP屏蔽关键字实现方法
方法一: 思路 用正则去匹配关键字,把关键字用别的字符替换: 1 2 3 $str = "/你大爷|你麻痹|什么玩意|SB|你他妈/"; // 关键字正则字符串 $string ...
- 【bzoj1479】[NOI2006]最大获利
1497: [NOI2006]最大获利 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 4335 Solved: 2123[Submit][Status] ...
- laravel中的模型关联之(一对一)
一对一 一对一的关联关系就相当于,赞和文章之间的关系,一个用户只能赞一次一个文章,只能和文章发生一次关系, 用户和赞的文章是唯一的一份,这里举得是判断用户是否赞过某个文章 一个参数都是你要获取的模型, ...
- tomcat的配置文件有那些
配置文件一般都在conf文件夹里,主要有server.xml,context.xml,tomcat_user.xml,web.xml四个常用配置文件,server主要是服务器设置的,例如端口设置,路径 ...
- opencv3读取视频并保存为图片
#include <iostream> #include <vector> #include <opencv2/opencv.hpp> using namespac ...
- 4-拷贝我的eclipse写安卓的配置说明
1.下载加压: 2.配置关于jdk的javahome路径,配置过eclipse的到这里就可以了,否则百度ecplise安装配置环境变量即可: 3.以安卓项目方式加入appcompat-v7; 4.每次 ...
- 多线程编程为什么要sleep
以前在分析程序的时候就遇到很多sleep,当时很觉得很奇怪?不直到为什么要调用这个sleep,现在明白了,这种情况一般是应用程序有多个线程,那怎么手动切换线程呢?调用sleep即可.
- c语言实践 数字特征值
这题的要求是这样的: 这题我没做出来,我大概思路是这样的,根据输入的数字,把这个数字的每一位都分离出来,然后判断奇数还是偶数,再判断序是奇数还是偶数,最后两个奇偶性比较,输出1还是0,这个输出的1和0 ...
- 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter 标签: 图像处理MATLAB 2017-0
实验要求: Objective: To understand the principle of the notch filter and its periodic noise reducing abi ...
- django: django rest framework 分页
django: django rest framework 分页 2018年06月22日 13:41:43 linux_player_c 阅读数:665更多 所属专栏: django 实战 版权声 ...