说明:为了操作方便,在python中我们用字典来获取输入的数据,通过对字典的增删改查实现相应的功能:

#这是一个个人名片管理系统

class BusinessCard(object):

def __init__(self,name,qq,weixin,address):

'''初始化'''

self.name = name

self.qq = qq

self.weixin = weixin

self.address = address

class MySystem(object):

'''个人名片管理系统'''

def __init__(self):

'''initial'''

self.card_infos = []

def print_menu(self):

'''完成打印'''

print("="*50)

print('个人名片管理系统V0.01')

print('1.添加一个新的名片')

print('2.删除一个名片')

print('3.修改一个名片')

print('4.查询一个名片')

print('5.显示所有名片')

print('6.退出系统')

def add_new_card_infor(self):

new_name = input('请输入新的名字')

new_qq = input('请输入新的qq')

new_weixin = input('请输入新的微信')

new_addr = input('请输入新的住址')

#定义一个心得对象用来存储一个新的名片

new_infor = BusinessCard(new_name,new_qq,new_weixin,new_addr)

#将一个字典,添加到列表

self.card_infos.append(new_infor)

print('添加成功')

def find_card_by_name(self,name):

'''根据名字查找名片'''

find_flag = None

for temp in self.card_infos:

if name == temp.name:

#表示找

find_flag = temp

break

return find_flag

def find_card_infor(self):

'''用来查询一个名片'''

find_name = input('请输入要查询的姓名')

find_flag = self.find_card_by_name(find_name)

#判断是否找到了

if find_flag == None:

print('查无此人')

else:

print('%s\t%s\t%s\t%s'%(find_flag.name,find_flag.qq,find_flag.weixin,find_flag.address))

def delet_card_infor(self):

'''用来删除名片'''

find_name = input('请输入要删除的信息:')

#默认没有找到

find_flag = self.find_card_by_name(find_name)

#判断是否找到了

if find_flag == None:

print('查无此人')

else:

self.card_infors.remove(find_flag)

print('删除成功')

def update_card_infor(self):

'''用来删除名片'''

find_name =input('请输入更新的信息的名字:')

find_flag = self.find_card_by_name(find_name)

if find_flag == None:

print('查无此人')

else:

new_qq = input('请输入新的qq:')

new_weixin = input('请输入新的微信:')

new_addr = input('请输入新的住址:')

find_flag.qq = new_qq

find_flag.weixin = new_weixin

find_flag.address = new_addr

print('修改成功')

def show_all_infor(self):

'''显示所有名片信息'''

print('姓名\t QQ\t微信\t住址')

for temp in self.card_infos:

print('%s\t%s\t%s\t%s'%(temp.name,temp.qq,temp.weixin,temp.address))

def begin(self):

while True:

num = int(input('\n请输入操作序列号:'))

if num == 1:

self.add_new_card_infor()

elif num == 2:

self.delet_card_infor()

elif num == 3:

self.update_card_infor()

elif num == 4:

self.find_card_infor()

elif num == 5:

self.show_all_infor()

elif num == 6:

break

else:

print('Error,请重新输入')

def main():

mySystem = MySystem()

mySystem.print_menu()

mySystem.begin()

#调用主函数

main()

下面试着对程序进行相应的运算:

输入1,对应信息添加:姓名:a,qq:a,微信:a,住址:a

继续输入1,

对应信息添加:姓名:b,qq:b,微信:b,住址:b

然后修改a的信息:输入操作3:修改:a,

请输入更新的信息的名字:a

请输入新的qq:1212

请输入新的微信:x56171

请输入新的住址:河北省石家庄市

最后查看结果:

请输入操作序列号:5

姓名 QQ微信住址

a1212x56171河北省石家庄市

bbbb

说明:该例题有助于对字典的增删改查的运用,同时,对类的调用,以及Python的弱类型语言有很大帮助!因此多多练习基础可以提升你的python基础功底

python输入姓名删除电话号码_pyhon基础之实例操作__个人名片管理系统,输入,查询,增加,删除等基本表的操作...相关推荐

  1. PYthon作业通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成。 编写程序,完成以下功能: 输入姓名,若通讯录文件中存在,则讲该联系人信息输出;

    """通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成.编写程序,完成以下功能:输入姓名,若通讯录文件中存在,则讲该联系人信息输出:若不存在,则输出 ...

  2. Python 基础 之 Pycharm 实现简单的名片管理系统

    Python 基础 之 Pycharm 实现简单的名片管理系统 目录 Python 基础 之 Pycharm 实现简单的名片管理系统 一.简单介绍

  3. python循环输入姓名并打印_python基础循环的学习记录

    一.while循环 如果条件成立(true),重复执行相同操作,条件不符合,跳出循环 while 循环条件: 循环操作 (1)while循环示例 例:输入王晓明5门课程的考试成绩,计算平均成绩i=1 ...

  4. 从键盘中输入姓名和电话号码,以#号结束,编程实现输入姓名可查询电话号码的功能。

  5. python根据年月日计算天数_Python基础练习实例4(年月日算天数)

    题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以2018年3月1日为例,应该先把前两个月的加起来(按月分,用一个数组存储之前的天数),然后再加上5天即本年的第几天,特殊情况,闰年且输 ...

  6. python杨辉三角编程_Python基础练习实例49(打印杨辉三角)

    杨辉三角(也称帕斯卡三角),它是一个无限对称的数字金字塔,从顶部的单个1开始,下面一行中的每个数字都是上面两个数字的和. 题目:打印出杨辉三角形(要求打印出10行如下图). 分析: 把每一行看作一个列 ...

  7. python数字和运算符空格_Python基础——运算符与数据结构(200315)

    <34> rpartition():       --根据指定字符对字符串进行分割,保留指定字符,从右边开始,只分三份 <35>split('对象','个数'):      - ...

  8. [转载] python tuple类型如何索引_Python基础数据类型——tuple浅析

    参考链接: Python tuple() Python中tuple的使用 一.什么是元组? 有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改. 二.用法 1 ...

  9. Python实现名片管理系统,办公必备!

    python的确是适合零基础的编程爱好者学习的语言,python的程序能看懂,但是很难去实现,这是每一个学习python的新手们基本上都会遇到的难题.好记性不如烂笔头,把知识运用到实战项目中,这是最好 ...

最新文章

  1. python mean函数_聚类算法 Mean-shift
  2. Apache HTTP服务器和支持程序 —— apachectl
  3. [转载]offsetHeight , clientHeight, scrollHeight 区别
  4. 开始学习python
  5. MySQL索引背后的数据结构及算法原理zz
  6. ai/ml_您本周应阅读的有趣的AI / ML文章(8月9日)
  7. error: numpy/arrayobject.h No such file or directory解决方法
  8. GitHub增加了代码审查、项目管理等新功能
  9. php 字符串hash比较,分析两个 url 查询字符串和 hash 的区别
  10. 二级MYSQL的语法整理_MySQL 常用命令及语法整理
  11. OpenCV人工智能图像处理学习笔记 第6章 计算机视觉加强之机器学习上
  12. 草根站长建站需要掌握或者了解的5种技术
  13. itextpdf paragraph使用
  14. 02325《计算机系统结构》自考复习重点目录
  15. 计算机考研复试经典考题汇总(一次刷新世界观)
  16. 微信支付商户号和企业付款到零钱开通方法
  17. 是修修补补,还是买件新衣
  18. 陈省身文集51——闭黎曼流形高斯-博内公式的一个简单的内蕴证明
  19. vlc播放g711 rtp流媒体sdp文件及其参数介绍
  20. 什么是基因测序,为什么需要云计算

热门文章

  1. 信创提速,人才为先!麒麟信安与领路信创签订《人才合作协议》
  2. 单片机2个按键互锁c语言程序,单片机的C语言应用程序设计 2.ppt
  3. Unity3D Mesh小课堂(三)圆形与圆环
  4. lilo是什么意思_LILO LILO的意思解释|LILO是什么意思 -我酷百科
  5. tableau多边形地图和背景地图:设置地理信息(自定义地图码导入、设置地图源)
  6. 2018沈阳网络赛:J kachang KD树
  7. Flask框架面试题
  8. 源支付最新版V6.52版本源码正版授权
  9. 随身wifi与宽带的区别是什么?
  10. 半导体器件 - 特殊二极管