首页 > 开发 > Python > 正文

Python综合应用名片管理系统案例详解

2020-07-28 13:37:13
字体:
来源:转载
供稿:网友

本文实例讲述了Python综合应用名片管理系统。分享给大家供大家参考,具体如下:

综合应用已经学习过的知识点:

变量 流程控制 函数 模块

开发 名片管理系统

系统需求

程序启动,显示名片管理系统欢迎界面,并显示功能菜单
**************************************************欢迎使用【名片管理系统】V1.01. 新建名片2. 显示全部3. 查询名片0. 退出系统**************************************************
用户用数字选择不同的功能 根据功能选择,执行不同的功能 用户名片需要记录用户的 姓名、电话、QQ、邮件 如果查询到指定的名片,用户可以选择 修改 或者 删除 名片

步骤

框架搭建 新增名片 显示所有名片 查询名片 查询成功后修改、删除名片 让 Python 程序能够直接运行

01. 框架搭建

目标

搭建名片管理系统 框架结构 准备文件,确定文件名,保证能够 在需要的位置 编写代码 编写 主运行循环,实现基本的 用户输入和判断

1.1 文件准备

新建 cards_main.py 保存 主程序功能代码 程序的入口 每一次启动名片管理系统都通过 main 这个文件启动 新建 cards_tools.py 保存 所有名片功能函数 将对名片的 新增、查询、修改、删除 等功能封装在不同的函数中

1.2 编写主运行循环

在 cards_main 中添加一个 无限循环
while True:  # TODO(小明) 显示系统菜单  action = input("请选择操作功能:")  print("您选择的操作是:%s" % action)  # 根据用户输入决定后续的操作  if action in ["1", "2", "3"]:    pass  elif action == "0":    print("欢迎再次使用【名片管理系统】")    break  else:    print("输入错误,请重新输入")

字符串判断

if action in ["1", "2", "3"]:
if action == "1" or action == "2" or action == "3":
使用 in 针对 列表 判断,避免使用 or 拼接复杂的逻辑条件 没有使用 int 转换用户输入,可以避免 一旦用户输入的不是数字,导致程序运行出错

pass

pass 就是一个空语句,不做任何事情,一般用做占位语句 是为了保持程序结构的完整性

无限循环

在开发软件时,如果 不希望程序执行后 立即退出 可以在程序中增加一个 无限循环 由用户来决定 退出程序的时机

TODO 注释

在 # 后跟上 TODO,用于标记需要去做的工作
# TODO(作者/邮件) 显示系统菜单

1.3 在 cards_tools 中增加四个新函数

def show_menu():  """显示菜单  """  passdef new_card():  """新建名片  """  print("-" * 50)  print("功能:新建名片")def show_all():  """显示全部  """  print("-" * 50)  print("功能:显示全部")def search_card():  """搜索名片  """  print("-" * 50)  print("功能:搜索名片")

1.4 导入模块

在 cards_main.py 中使用 import 导入 cards_tools 模块
import cards_tools

修改 while 循环的代码如下:

import cards_toolswhile True:  cards_tools.show_menu()  action = input("请选择操作功能:")  print("您选择的操作是:%s" % action)  # 根据用户输入决定后续的操作  if action in ["1", "2", "3"]:    if action == "1":      cards_tools.new_card()    elif action == "2":      cards_tools.show_all()    elif action == "3":      cards_tools.search_card()  elif action == "0":    print("欢迎再次使用【名片管理系统】")    break  else:    print("输入错误,请重新输入:")
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表