随便用Python开发了一款关于香烟的项目,没想到就拿到了五万报酬
2018-12-31 13:57
302 查看
需求
胖子老板:太多香烟了,帮我开发一个管理系统用用吧。
肥仔白: 好吧,看在天天在这里买槟榔的份上。
- 1. 程序启动,显示胖子老板香烟管理系统欢迎界面,并显示功能菜单
************************************************** 欢迎使用【胖子老板香烟管理系统】V1.0 1. 新建香烟 2. 显示全部 3. 查询香烟 0. 退出系统 **************************************************
- 1. 用户用数字选择不同的功能
- 2. 根据功能选择,执行不同的功能
- 3. 用户需要记录香烟的 品牌、价格、批发价、利润
- 4. 如果查询到指定的香烟,用户可以选择 修改 或者 删除 香烟
步骤
私信菜鸟007获取源码!
- 框架搭建
- 新增香烟
- 显示所有香烟
- 查询香烟
- 查询成功后修改、删除香烟
- 让 Python 程序能够直接运行
01. 框架搭建
目标
- 搭建名片管理系统 框架结构
- 准备文件,确定文件名,保证能够 在需要的位置 编写代码
- 编写 主运行循环,实现基本的 用户输入和判断
1.1 文件准备
- 新建 cigarettes_main.py 保存 主程序功能代码
- 程序的入口
- 每一次启动胖子老板香烟管理系统都通过 main 这个文件启动
- 新建 cigarettes_tools.py 保存 所有名片功能函数
- 将对名片的 新增、查询、修改、删除 等功能封装在不同的函数中
1.2 编写主运行循环
进群:960410445 即可获取数十套PDF !
- 在 cigarettes_main 中添加一个 无限循环
# -*- coding: utf-8 -*- if __name__ == "__main__": i = 0 while True: # TODO 显示系统菜单 print "" print "#" * 50 print "第i次操作=",i action = input("请选择操作功能:") print("您选择的操作是:%s" % action) # 根据用户输入决定后续的操作 if action in [1, 2, 3]: print "action=",action pass elif action == 0: print "action=", action print("欢迎再次使用【胖子老板香烟管理系统】") break else: print "action=", action print("输入错误,请重新输入") i += 1
字符串判断
if action in [1, 2, 3]:: if action == 1 or action == 2 or action == 3:
- 使用 in 针对 列表 判断,避免使用 or 拼接复杂的逻辑条件
- 没有使用 int 转换用户输入,可以避免 一旦用户输入的不是数字,导致程序运行出错
pass
- pass 就是一个空语句,不做任何事情,一般用做占位语句
- 是为了保持程序结构的完整性
无限循环
- 在开发软件时,如果 不希望程序执行后 立即退出
- 可以在程序中增加一个 无限循环
- 由用户来决定 退出程序的时机
TODO 注释
- 在 # 后跟上 TODO,用于标记需要去做的工作
# TODO(作者/邮件) 显示系统菜单
执行结果如下
################################################## 第i次操作= 0 请选择操作功能:1 您选择的操作是:1 action= 1 ################################################## 第i次操作= 1 请选择操作功能:2 您选择的操作是:2 action= 2 ################################################## 第i次操作= 2 请选择操作功能:3 您选择的操作是:3 action= 3 ################################################## 第i次操作= 3 请选择操作功能:0 您选择的操作是:0 action= 0 欢迎再次使用【胖子老板香烟管理系统】
1.3 新建 `cigarettes_tools.py`文件,增加四个新函数
# -*- coding: utf-8 -*- def show_menu(): """显示菜单 """ pass def create_cigarettes(): """新建香烟 """ print("-" * 50) print("功能:新建香烟") def show_all(): """显示全部 """ print("-" * 50) print("功能:显示全部") def search_cigarettes(): """搜索香烟 """ print("-" * 50) print("功能:搜索香烟")
1.4 导入模块
- 在 cigarettes_main.py 中使用 import 导入 cigarettes_tools 模块
import cigarettes_tools
- 修改 while 循环的代码如下:
# -*- coding: utf-8 -*-import cigarettes_toolsif __name__ == "__main__": i = 0 while True: # TODO 显示系统菜单 cigarettes_tools.show_menu() action = input("请选择操作功能:") print("您选择的操作是:%s" % action) # 根据用户输入决定后续的操作 if action in [1, 2, 3]: if action == 1: cigarettes_tools.create_cigarettes() elif action == 2: cigarettes_tools.show_all() elif action == 3: cigarettes_tools.search_cigarettes() elif action == 0: print("欢迎再次使用【胖子老板香烟管理系统】") break else: print("输入错误,请重新输入") i += 1
执行如下:
-------------------------------------------------- 功能:显示全部 请选择操作功能:1 您选择的操作是:1 -------------------------------------------------- 功能:新建名片 -------------------------------------------------- 功能:显示全部 请选择操作功能:2 您选择的操作是:2 -------------------------------------------------- 功能:显示全部 -------------------------------------------------- 功能:显示全部 请选择操作功能:3 您选择的操作是:3 -------------------------------------------------- 功能:搜索香烟 -------------------------------------------------- 功能:显示全部 请选择操作功能:0 您选择的操作是:0 欢迎再次使用【胖子老板香烟管理系统】
至此:cigarettes_main 中的所有代码全部开发完毕!
1.5 完成 `show_menu` 函数
def show_menu(): """显示菜单 """ print("*" * 50) print("欢迎使用【胖子老板香烟管理系统】V1.0") print("") print("1. 新建香烟") print("2. 显示全部") print("3. 查询香烟") print("") print("0. 退出系统") print("*" * 50)
执行如下:
************************************************** 欢迎使用【胖子老板香烟管理系统】V1.0 1. 新建香烟 2. 显示全部 3. 查询香烟 0. 退出系统 **************************************************请选择操作功能:
02. 保存香烟数据的结构
程序就是用来处理数据的,而变量就是用来存储数据的
- 使用 字典 记录 每一中香烟 的详细信息
- 使用 列表 统一记录所有的 香烟字典
定义名片列表变量
- 在 cigarettes_tools 文件的顶部增加一个 列表变量
# 所有香烟记录的列表 cigarettes_list = []
注意
- 所有香烟相关操作,都需要使用这个列表,所以应该 定义在程序的顶部
- 程序刚运行时,没有数据,所以是 空列表
03. 新增香烟
3.1 功能分析
- 提示用户依次输入香烟信息
- 将香烟信息保存到一个字典
- 将字典添加到香烟列表
- 提示香烟添加完成
3.2 实现 `create_cigarettes()`方法
- 根据步骤实现代码
def create_cigarettes(): """新建香烟 """ print("-" * 50) print("功能:新建香烟") # 1. 提示用户输入香烟信息 cigarettes_name = input("请输入香烟名称:") cigarettes_price = input("请输入香烟价格:") # 2. 将信息保存到一个字典 cigarettes_dict = { "cigarettes_name": cigarettes_name, "cigarettes_price": cigarettes_price, } # 3. 将用户字典添加到名片列表 cigarettes_list.append(cigarettes_dict) print(cigarettes_list) # 4. 提示添加成功信息 print("成功添加 %s 的香烟" % cigarettes_dict["cigarettes_name"])
执行如下:
您选择的操作是:1 -------------------------------------------------- 功能:新建香烟 请输入香烟名称:"蓝利群" 请输入香烟价格:17.5 [{'cigarettes_price': 17.5, 'cigarettes_name': '\xe5\x88\xa9\xe7\xbe\xa4'}] 成功添加 利群 的香烟 **************************************************
04. 显示所有香烟
4.1 功能分析
- 循环遍历香烟列表,顺序显示每一个字典的信息
4.2 基础代码实现
def show_all(): """显示全部 """ print("-" * 50) print("功能:显示全部") for cigarettes in cigarettes_list: print(cigarettes) -------------------------------------------------- 功能:显示全部 {'cigarettes_price': 17.5, 'cigarettes_name': ''}
- 显示效果不好!
4.3 增加标题
def show_all(): """显示全部 """ print("-" * 50) print("功能:显示全部") # 首先输入几个香烟到list中[控制台输入,不方便调试] cigarettes_dict1 = { "cigarettes_name": "蓝利群", "cigarettes_price": 17.5, } cigarettes_list.append(cigarettes_dict1) cigarettes_dict2 = { "cigarettes_name": "芙蓉王", "cigarettes_price": 26, } cigarettes_list.append(cigarettes_dict2) # 打印表头 print("香烟 || 价格") for cigarettes in cigarettes_list: print(cigarettes["cigarettes_name"] + " || " + str(cigarettes["cigarettes_price"]))
执行如下:
************************************************** 请选择操作功能:2 您选择的操作是:2 -------------------------------------------------- 功能:显示全部 香烟 || 价格 蓝利群 || 17.5 芙蓉王 || 26 **************************************************
4.4 增加没有香烟记录判断
print("香烟 || 价格") if len(cigarettes_list) == 0: print("没有香烟") return
执行如下:
您选择的操作是:2 -------------------------------------------------- 功能:显示全部 香烟 || 价格 0 没有香烟 **************************************************
注意
- 在函数中使用 return 表示返回
- 如果在 return 后没有跟任何内容,只是表示该函数执行到此就不再执行后续的代码
05. 查询香烟
5.1 功能分析
- 提示用户要搜索的香烟名称
- 根据用户输入的香烟名称遍历列表
- 搜索到指定的名片后,再执行后续的操作
5.2 代码实现
- 查询功能实现
def search_cigarettes(): """搜索香烟 " 20000 "" print("-" * 50) print("功能:搜索香烟") # 设置查找的烟名称 find_name = "芙蓉王" # 遍历查询 for cigarettes in cigarettes_list: if cigarettes['cigarettes_name'] == find_name: print("查找到的烟名:%s " % cigarettes['cigarettes_name'])
执行如下:
************************************************** 请选择操作功能:2 您选择的操作是:2 -------------------------------------------------- 功能:显示全部 香烟 || 价格 蓝利群 || 17.5 芙蓉王 || 26************************************************** 欢迎使用【胖子老板香烟管理系统】V1.0 1. 新建香烟 2. 显示全部 3. 查询香烟 0. 退出系统 **************************************************请选择操作功能:3 您选择的操作是:3 -------------------------------------------------- 功能:搜索香烟 查找到的烟名:芙蓉王 **************************************************
写到这里,基本上 增、查 的基本功能就有了。
但是对于正常的系统来说,增删查改 是必须的。这部分可以根据这两个思路去处理即可。
5. 3 修改香烟的字典数据
cigarettes['cigarettes_name'] = "需要修改的烟名称"
5.4 从list表中,删除香烟
cigarettes_list.remove(find_dict)
阅读更多
相关文章推荐
- 关于python项目测试开发知识的文章辑录
- 心得体会:关于开发效率和项目周期的问题
- 关于开发效率和项目周期的问题(转贴)
- 关于LBS项目开发的个人总结
- 心得体会:关于开发效率和项目周期的问题
- 关于在WindowsXp 环境下Python2.6 + web.py 构建WEB开发环境遇到的问题
- 项目开发感悟记录四:关于命名的思考
- 关于把struts2项目修改为开发模式,项目无法启动问题说明
- 使用python为Java项目开发一个预编译脚本
- 关于VS2005与EVC4.2的项目开发过程中的问题点滴
- python下的web开发框架-Django,创建项目
- 关于Visual Studio.NET 2008开发一册通--C# 3.0从基础到项目实战的读后感
- 关于一个项目的简单开发流程(需求,数据库,编码)
- 关于 公司的规范 开发项目文档之类的看法
- 使用Python开发环境Wing IDE设立项目详解
- Python实战开发之Pyramid Web框架在商城项目中的应用教程
- 关于如何从多个项目创建 ASP.NET 应用程序以进行组开发问题
- 关于软件开发项目任务的横向分解和纵向分解
- 关于.net项目开发工具(V2.0)SQLServer 2005数据库插件的失误
- 关于开发效率和项目周期的问题