中山市做网站专业的台州企业网站

当前位置: 首页 > news >正文

中山市做网站专业的,台州企业网站,做建网站的公司,建设局电工证与安监局电工证#python 基础综合应用——小开发 综合复习 变量- 循环- 函数- 模块 开发 名片管理系统 名片管理系统介绍 名片管理系统可以理解成花名册软件#xff0c;通过个人新建人的信息后可以进行查询等简单操作的程序 名片管理系统有三个作用#xff0c; 1.新建名片 2.显示全部名…#python 基础综合应用——小开发 综合复习 变量- 循环- 函数- 模块 开发 名片管理系统 名片管理系统介绍 名片管理系统可以理解成花名册软件通过个人新建人的信息后可以进行查询等简单操作的程序 名片管理系统有三个作用 1.新建名片 2.显示全部名片 3.查询名片 欢迎使用【名片管理系统】V1.0 1. 新建名片

  1. 显示全部
  2. 查询名片
  3. 退出系统 名片管理系统的开发 1.框架的搭建 在我们开发程序的时候都需要做的事情就是构建框架 构建框架首先需要做的就是准备文件文件需要的是主文件和工具文件还需要准备一些基本的代码能够简单运行起来 对于准备文件主文件是main文件所有的操作都要经过这里启动 对于工具文件就是对于这个程序进行其他操作删除增添 先创建 一个main文件 无限循环 在开发软件时如果 不希望程序执行后 立即退出 - 可以在程序中增加一个 无限循环 - 由用户来决定 退出程序的时机 当用户输入数字进行程序之后即为正确运行那对于正确true之后主文件进行后续的操作 ​ while True: ​# TODO(小明) 显示系统菜单 ​action input(请选择操作功能) ​print(您选择的操作是%s % action) ​# 根据用户输入决定后续的操作if action in [1, 2, 3]:passelif action 0:print(欢迎再次使用【名片管理系统】) ​breakelse:print(输入错误请重新输入) ​在这里需要注意的是 使用 in 针对 列表 判断避免使用 or 拼接复杂的逻辑条件 1. 没有使用 int 转换用户输入可以避免 一旦用户输 pass 就是一个空语句不做任何事情一般用做占位语句 - 是为了保持程序结构的完整性 对于工具文件 在名片管理系统中工具文件的作用就是 1.显示菜单 2.新建名片 3.显示全部 4.搜索名片 所以对于工具文件我们采取的方式是创造四个函数 def show_menu(): ​显示菜单pass ​ def new_card(): ​新建名片print(- * 50)print(功能新建名片) ​ ​ def show_all(): ​显示全部print(- * 50)print(功能显示全部) ​ ​ def search_card(): ​搜索名片print(- * 50)print(功能搜索名片) ​注意三个引号的作用是一个一个输出 在做好主文件和工具文件之后我们应该进行的操作是将工具文件的四个函数导入进行优化操作 用import import cards_tools ​ while 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(欢迎再次使用【名片管理系统】) ​breakelse:print(输入错误请重新输入) ​至此我们的名片管理系统的操作就大致完成了  接下来就是完善每一个工具文件的函数操作 2.新建名片 之前的文章说过程序是用来运行数据的变量是存储数据的 那么我们用户需要新建名片那么就需要保存信息到字典中将名片字典添加到列表中这个时候我们用户就添加成功 定义名片列表变量 在 cards_tools 文件的顶部增加一个 列表变量 # 所有名片记录的列表 card_list [] def new_card(): ​ “”“新建名片 “”” print(“-” * 50) print(“功能新建名片”) ​ 1. 提示用户输入名片信息 name input(“请输入姓名”) phone input(“请输入电话”) qq input(“请输入 QQ 号码”) email input(“请输入邮箱”) ​ 2. 将用户信息保存到一个字典 card_dict {“name”: name, “phone”: phone, “qq”: qq, “email”: email} ​ 3. 将用户字典添加到名片列表 card_list.append(card_dict) ​ print(card_list) 4. 提示添加成功信息 print(“成功添加 %s 的名片” % card_dict[“name”]) ​   3.显示所有名片 若想显示所有名片现在的情况是名片字典全部放到列表中所以说我们可以直接把列表全部输出即可注意为了有更好的显示效果我们应该制作表头的分割线方便用户观看则有如下代码 def show_all():显示全部print(- * 50)print(功能显示全部) ​# 打印表头for name in [姓名, 电话, QQ, 邮箱]:print(name, end\t\t) ​print() ​# 打印分隔线print( * 50) ​for card_dict in card_list: ​print(%s\t\t%s\t\t%s\t\t%s % (card_dict[name],card_dict[phone],card_dict[qq],card_dict[email]))注意的是 def show_all():显示全部print(- * 50)print(功能显示全部) ​# 1. 判断是否有名片记录if len(card_list) 0:print(提示没有任何名片记录) ​return ​return可以返回一个函数的结果 下方代码不会被执行 这样子就避免了后续操作用户可以直接了解到没有名片代码的记录提示用户并且返回 4.查询名片 提示用户要搜索的姓名 1. 根据用户输入的姓名遍历列表 1. 搜索到指定的名片后再执行后续的操作 def search_card(): ​搜索名片print(- * 50)print(功能搜索名片) ​# 1. 提示要搜索的姓名find_name input(请输入要搜索的姓名) ​# 2. 遍历字典for card_dict in card_list: ​if card_dict[name] find_name: ​print(姓名\t\t\t电话\t\t\tQQ\t\t\t邮箱)print(- * 40)print(%s\t\t\t%s\t\t\t%s\t\t\t%s % (card_dict[name],card_dict[phone],card_dict[qq],card_dict[email])) ​print(- * 40)# TODO(小明) 针对找到的字典进行后续操作修改/删除 ​breakelse:print(没有找到 %s % find_name) ​for遍历后不是通过break出来则执行else分支  增加名片操作函数修改/删除/返回主菜单 def deal_card(find_dict): ​操作搜索到的名片字典 ​:param find_dict:找到的名片字典print(find_dict) ​action_str input(请选择要执行的操作 [1] 修改 [2] 删除 [0] 返回上级菜单) ​if action 1:print(修改)elif action 2:print(删除) ​5.查询成功后修改删除名片 删除列表里面的字典即可 由于找到的字典记录已经在列表中保存 - 要删除名片记录只需要把列表中对应的字典删除即可 elif action 2:card_list.remove(find_dict) ​print(删除成功)由于找到的字典记录已经在列表中保存 - 要修改名片记录只需要把列表中对应的字典中每一个键值对的数据修改即可 if action 1: ​find_dict[name] input(请输入姓名)find_dict[phone] input(请输入电话)find_dict[qq] input(请输入QQ)find_dict[email] input(请输入邮件) ​print(%s 的名片修改成功 % find_dict[name]) ​如果用户在使用时某些名片内容并不想修改应该如何做呢—— 既然系统提供的 input 函数不能满足需求那么就新定义一个函数 input_card_info 对系统的 input 函数进行扩展 def input_card_info(dict_value, tip_message): ​输入名片信息 ​:param dict_value: 字典原有值:param tip_message: 输入提示信息:return: 如果输入返回输入内容否则返回字典原有值# 1. 提示用户输入内容result_str input(tip_message) ​# 2. 针对用户的输入进行判断如果用户输入了内容直接返回结果if len(result_str) gt; 0: ​return result_str# 3. 如果用户没有输入内容返回 字典中原有的值else: ​return dict_value ​6.让python程序直接运行 cards_input.py def input_card_info(dict_value, tip_message):输入名片信息:param dict_value: 字典中原有的值:param tip_message: 输入的提示文字:return: 如果用户输入了内容就返回内容否则返回字典中原有的值# 1. 提示用户输入内容result_str input(tip_message)# 2. 针对用户的输入进行判断如果用户输入了内容直接返回结果if len(result_str) gt; 0:return result_str# 3. 如果用户没有输入内容返回 字典中原有的值else:return dict_valuecards_main.py #!/usr/bin/python3 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(欢迎再次使用【名片管理系统】)breakelse:print(输入错误请重新输入)cards_tools.py import cards_input# 所有名片记录的列表 card_list []def show_menu():显示菜单print(* * 50)print(欢迎使用【名片管理系统】V1.0)print()print(1. 新建名片)print(2. 显示全部)print(3. 查询名片)print()print(0. 退出系统)print(* * 50)def new_card():新建名片print(- * 50)print(功能新建名片)# 1. 提示用户输入名片信息name input(请输入姓名)phone input(请输入电话)qq input(请输入 QQ 号码)email input(请输入邮箱)# 2. 将用户信息保存到一个字典card_dict {name: name,phone: phone,qq: qq,email: email}# 3. 将用户字典添加到名片列表card_list.append(card_dict)# print(card_list)# 4. 提示添加成功信息print(成功添加 %s 的名片 % card_dict[name])def show_all():显示全部print(- * 50)print(功能显示全部)# 1. 判断是否有名片记录if len(card_list) 0:print(提示没有任何名片记录)return# 2. 显示所有名片print(姓名\t\t电话\t\tQQ\t\t邮箱)print(- * 60)for card_dict in card_list:print(%s\t\t%s\t\t%s\t\t%s % (card_dict[name],card_dict[phone],card_dict[qq],card_dict[email]))print(- * 60)def search_card():搜索名片print(- * 50)print(功能搜索名片)# 1. 提示要搜索的姓名find_name input(请输入要搜索的姓名)# 2. 遍历字典for card_dict in card_list:if card_dict[name] find_name:print(姓名\t\t电话\t\tQQ\t\t邮箱)print(- * 60)print(%s\t\t%s\t\t%s\t\t%s % (card_dict[name],card_dict[phone],card_dict[qq],card_dict[email]))print(- * 60)deal_card(card_dict)breakelse:print(没有找到 %s % find_name)def deal_card(find_dict):操作搜索到的名片字典:param find_dict:名片字典action_str input(请输入对名片的操作1: 修改/ 2: 删除/ 0: 返回上级菜单)if action_str 1:find_dict[name] cards_input.input_card_info(find_dict[name],请输入姓名[回车不修改])find_dict[phone] cards_input.input_card_info(find_dict[phone],请输入电话[回车不修改])find_dict[qq] cards_input.input_card_info(find_dict[qq],请输入QQ[回车不修改])find_dict[email] cards_input.input_card_info(find_dict[email],请输入邮箱[回车不修改])print(%s 的名片修改成功 % find_dict[name])elif action_str 2:card_list.remove(find_dict)print(删除名片成功)