python编写一个名片(详解Python做一个名片管理系统)
类别:脚本大全 浏览量:1298
时间:2021-11-08 16:22:49 python编写一个名片
详解Python做一个名片管理系统
名片管理系统有两个模块组成:cards_main.py
和 cards_tools.py
一个是主程序,另一个是封装增删改查函数的被调用程序
代码如下
cards_main.py
|
#! /usr/bin/python # -*- coding:utf-8 -*- import cards_tools # 无限循环,用户决定什么时候退出循环! while True : # TODO(作者) 显示功能菜单 # TODO 提醒要做的事情 cards_tools.show_menu() action_str = raw_input ( '请选择希望执行的操作:' ) print '您选择的操作是【%s】' % action_str # 1,2,3针对名片的操作 if action_str in [ '1' , '2' , '3' ]: pass #新增名片 if action_str = = '1' : cards_tools.new_card() #显示全部 elif action_str = = '2' : cards_tools.show_all() #查询名片 elif action_str = = '3' : cards_tools.search_card() # 0 退出系统 elif action_str = = '0' : print '欢迎再次使用名片系统' #如果暂时不想写分支代码 #可以用pass break # 其他内容错误,提示用户 else : print '您输入的不正确,请重新选择' |
cards_tools.py
|
cards_tools.py # -*- coding:utf-8 -*- #用列表记录所有名片字典 card_list = [] def show_menu(): """显示菜单""" print '*' * 50 print '欢迎使用【名片管理系统 v1.0】' print '' print '1. 新增名片' print '2. 显示全部' print '3. 搜索名片' print '0. 退出系统' print '*' * 50 def new_card(): """新增名片""" print '新增名片' # 1. 提示用户输入名片的详细信息 name_str = raw_input ( '请输入姓名:' ) phone_str = raw_input ( '请输入电话:' ) qq_str = raw_input ( '请输入QQ:' ) email_str = raw_input ( '请输入邮箱:' ) # 2. 使用用户输入信息建立一个字典 card_dic = { 'name' : name_str, 'phone' : phone_str, 'qq' : qq_str, 'email' : email_str } # 3. 将名片字典添加到列表 card_list.append(card_dic) # 4. 提示用户添加成功 print '用户 %s 添加成功' % name_str def show_all(): """展示所有名片""" print '展示所有名片' # 如果没有任何名片 if len (card_list) = = 0 : print '当前没有任何名片' # return可以返回结果给函数 # 也可以直接结束函数 # return后的代码不执行 return # 打印表头 for head in [ '姓名' , '电话' , 'QQ' , '邮箱' ]: print '%s\t\t' % head, print '' for card_dic in card_list: print '%s\t\t%s\t\t%s\t\t%s\t\t' % (card_dic[ 'name' ], card_dic[ 'phone' ], card_dic[ 'qq' ] , card_dic[ 'email' ]) print '' def search_card(): """搜索名片""" print '搜索名片' # 1. 提示用户要搜索的姓名 find_name = raw_input ( '请输入你要搜索的姓名:' ) # 2. 遍历列表进行查询,如果没有则提示用户 for card_dic in card_list: if card_dic[ 'name' ] = = find_name: print '找到了 %s' % find_name print '%s\t\t%s\t\t%s\t\t%s\t\t' % (card_dic[ 'name' ], card_dic[ 'phone' ], card_dic[ 'qq' ] , card_dic[ 'email' ]) # 针对找到的记录进行修改和删除 deal_card(card_dic) break else : print '没有找到 %s' % find_name def deal_card(find_dic): """ 处理找到的名片,进行修改和删除 :param find_dic: 找到的字典名片 """ print find_dic action_str = raw_input ( '请选择要执行的操作' '[1]修改 [2]删除 [0]返回上级菜单' ) if action_str = = '1' : input_card_info(find_dic[ 'name' ], '姓名:' ) input_card_info(find_dic[ 'phone' ], '电话:' ) input_card_info(find_dic[ 'qq' ], 'QQ:' ) input_card_info(find_dic[ 'email' ], '邮箱:' ) print '修改名片成功' elif action_str = = '2' : card_list.remove(find_dic) print '删除名片成功' def input_card_info(dic_value, tip_message): """输入名片信息 :param dic_value:字典原有值 :param tip_message:输入的提示文字 :return :返回修改后的值,如果没有输入则返回原值 """ result_str = raw_input (tip_message) # if len(result_str) > 0: # return result_str # # 3. 如果用户没有输入,则用原来的值 # else: # return dic_value if len (result_str) > 0 : dic_value = result_str else : dic_value = dic_value |
以上所述是小编给大家介绍的Python如何做一个名片管理系统详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://blog.csdn.net/weixin_38892128/article/details/85934788
您可能感兴趣
- python定义dataframe(对python dataframe逻辑取值的方法详解)
- python绘折线图数据(python2.7使用plotly绘制本地散点图和折线图)
- python自己做个定时器(对python周期性定时器的示例详解)
- python操作json库(Python将json文件写入ES数据库的方法)
- python用于机器人(python机器人运动范围问题的解答)
- python操作sql server数据库(Python 数据库操作 SQLAlchemy的示例代码)
- python带权限复制文件夹(python定时复制远程文件夹中所有文件)
- python表白代码演示(python3实现表白神器)
- opencv轮廓模糊识别(Opencv+Python实现图像运动模糊和高斯模糊的示例)
- python如何编写判断正负数程序(Python实现判断一个整数是否为回文数算法示例)
- python二叉树是怎么来的(Python二叉树的镜像转换实现方法示例)
- python学生管理系统与数据库(python学生管理系统学习笔记)
- pythonjson库(Python常用的json标准库)
- python字典的key(Python使用dict.fromkeys快速生成一个字典示例)
- python scrapy爬虫教程视频(详解python3 + Scrapy爬虫学习之创建项目)
- pythonflask系列教程(Python安装Flask环境及简单应用示例)
- 冯骥才 年意(冯骥才年意)
- ()
- 百事大吉蓝底 绿底手机高清壁纸(绿底手机高清壁纸)
- 蓝底证件照怎么制作 证件照换底色 换尺寸快速搞定(蓝底证件照怎么制作)
- 你喜欢足球吗 足球如何点亮世界的(足球如何点亮世界的)
- 不可分鸽是什么梗(不可分鸽是什么梗)
热门推荐
- html正确的颜色表达方式(HTML文本属性&颜色控制属性的实现)
- python中统计一个字符出现的次数(Python统计一个字符串中每个字符出现了多少次的方法字符串转换为列表再统计)
- vs中debug和release的区别
- dockerexec详解(docker中的run/cmd/entrypoint的区别详解)
- Windows系统 VPS/云服务器远程3389管理连接(Windows系统 VPS/云服务器远程3389管理连接)
- sql提交事务代码(SQL SERVER提交事务回滚机制)
- 用css3实现阴影(CSS3中文字镂空、透明值、阴影效果设置示例小结)
- mysqlinnodb数据存储格式(MySQL InnoDB ReplicaSet副本集简单介绍)
- jenkins回滚docker容器(关于docker部署的jenkins跑git上的程序的问题)
- sql中exists怎么用(SQL中Exists的用法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9