美文网首页大数据 爬虫Python AI Sqlpython入门基础学习听党话跟党走
随便用Python开发了一款关于香烟的项目,没想到就拿到了五万报

随便用Python开发了一款关于香烟的项目,没想到就拿到了五万报

作者: 编程新视野 | 来源:发表于2019-01-05 15:15 被阅读1次

    需求

    胖子老板:太多香烟了,帮我开发一个管理系统用用吧。

    肥仔白: 好吧,看在天天在这里买槟榔的份上。

    1. 程序启动,显示胖子老板香烟管理系统欢迎界面,并显示功能菜单

    **************************************************

    欢迎使用【胖子老板香烟管理系统】V1.0

    1. 新建香烟

    2. 显示全部

    3. 查询香烟

    0. 退出系统

    **************************************************

    1. 用户用数字选择不同的功能

    2. 根据功能选择,执行不同的功能

    3. 用户需要记录香烟的品牌价格批发价利润

    4. 如果查询到指定的香烟,用户可以选择修改或者删除香烟

    步骤

    进群:943752371 获取源码!

    框架搭建

    新增香烟

    显示所有香烟

    查询香烟

    查询成功后修改、删除香烟

    让 Python 程序能够直接运行

    01. 框架搭建

    目标

    搭建名片管理系统框架结构

    准备文件,确定文件名,保证能够在需要的位置编写代码

    编写主运行循环,实现基本的用户输入和判断

    1.1 文件准备

    新建 cigarettes_main.py 保存主程序功能代码

    程序的入口

    每一次启动胖子老板香烟管理系统都通过 main 这个文件启动

    新建 cigarettes_tools.py 保存所有名片功能函数

    将对名片的新增查询修改删除等功能封装在不同的函数中

    1.2 编写主运行循环

    在 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_tools

    if __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():

    """搜索香烟

    """

    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开发了一款关于香烟的项目,没想到就拿到了五万报

        本文链接:https://www.haomeiwen.com/subject/sxorrqtx.html