详解Python做一个名片管理系统
作者:weixin_38892128 发布时间:2021-03-17 05:56:17
标签: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


猜你喜欢
- 前言在大多数介绍 Buffer 的文章中,主要是围绕数据拼接和内存分配这两方面的。比如我们使用fs模块来读取文件内容的时候,返回的就是一个
- 数据处理在现代企业运营中变得越来越重要,越来越关键,甚至会成为企业发展的一项瓶颈. 数据保护的重要性也不言而喻. 如果一个企业没有很好的数据
- import pyspherefrom pysphere import VIServerhost_ip = "200.200.17
- 1. 数据库的概念1.1 数据库(Database)是统一管理的相关数据的集合。长期存储在计算机内,有结构的、集成的、可共享的、统一管理的数
- Python操作Mysql最近在学习python,这种脚本语言毫无疑问的会跟数据库产生关联,因此这里介绍一下如何使用python操作mysq
- 目录MySQL约束操作1.非空约束2.唯一约束3.主键约束4.外键约束5、级联MySQL约束操作概念:对表中的数据进行限定,保证数据的正确性
- 目标在本章中,将了解:如何生成OpenCV-Python bindings如何将新的OpenCV模块扩展到PythonOpenCV-Pyth
- 今早在对一张table 创建primay key过程中发生了断电,当电脑再次启动时候,发现mysql 服务无法启动,使用 net start
- Python中对信号处理的模块主要是使用signal模块,但signal主要是针对Unix系统,所以在Windows平台上Python不能很
- 我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了!回到用P
- 前言:本文介绍如何构建简单线性回归模型及计算其准确率,最后介绍如何持久化模型。线性回归模型线性回归表示发现函数使用线性组合表示输入变量。简单
- 实现了宽度、高度、透明度的渐变,还能以高度宽度中点为中心,还扩展成以任意点为中心渐变(实例中以点击点为中心)。<!DOCTYPE ht
- 公司客户在使用网站后台编辑添加修改内容时,经常是直接从word文档里复制内容到编辑器里后就提交。结果是在内容显示页面上是五花八门的样式,有时
- 在一众有趣的Python库中,TQDW也算是独树一帜了,原因主要是因为自身所存在的功能效果,比如我们如果在写项目,往往会忘记我们要完成多少量
- WebSocket 是什么?摘抄网上的一些解释:WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工(f
- 一、背景近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo。选用Python2.7与Matplotlib来
- 1. 判断表单元素是否存在(一) if("periodPerMonth" in document.theForm) {
- django是python语言快速实现web服务的大杀器,其开发效率可以非常的高!但因为秉承了语言的灵活性,django框架又太灵活,以至于
- 思路利用scapy库,在这个库的基础下能够做很多的事情,python读取pcap包网上一找一大把将读取出来的pcap包改一个名字,然后写回,
- 备注 与 DELETE 语句相比,TRUNCATE TABLE 具有以下优点: 所用的事务日志空间较少。 DELETE 语句每次删除一行,并