侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python实现简单名片管理系统

Python  /  管理员 发布于 7年前   273

前言

之前看过一遍的python教程,真的是自己看过一遍,python的程序能看懂,但是很难去实现。比较困难的自己实现一些代码,找工作原因,自己又认认真真的看书,敲代码,后来看到了这个题目,想把之前学习的python常用的数据类型复习下。花了一点儿时间,编程实现了。

python实现名片管理系统

能实现如下功能:

*****************
名片管理系统

1.添加名片

2.删除名片

3.修改名片

4.查询名片

5.退出系统

0.显示所有名片

*****************

添加名片

编程思路 先创建一个临时的 templist 变量,通过 templist.append()方法,增加,姓名,手机号,地址等信息,然后把templist列表追加到 mainList列表中。

def increMem(aList):  tempList = []   tempName = input("输入新建名片名字:")  tempList.append(tempName)  while True:    tempPhone = input("输入新建联系人手机号:")     if tempPhone.isnumeric(): break    else: print("输入有误,重新输入")    tempList.append(tempPhone)  tempAddr = input("输入新建联系人地址:")  tempList.append(tempAddr)  print("输入新建联系人信息:")  showList(tempList)  aList.append(tempList)

注意:

手机号都是数字,可以通过 list.isnumeric()方法判断是否是纯数字字符串,不是返回False

删除名片

编程思想:首先盘算是否是空,如果是空返回,然后先定位删除联系人的索引值,最后通过del()函数删除联系人。

def delMem(aList):  i = 0  if len(aList) == 0 :     print("没有联系人,请先添加联系人!")    return  tempName = input("输入要删除的联系人:")  for mumList in aList:    if tempName != mumList[0] :      i += 1      continue    else:      showList(aList[i])      while True:        tempIn = input("是否删除此联系人: Y(是)\t N(否) :")        if tempIn =="Y" or tempIn == "y":          del(aList[i])          print("删除成功!")          return         elif tempIn == "N" or tempIn == "n":          print("重新输入联系人!")          delMem(aList)          return        else:          print("输入有误,重新输入!")if i == len(aList):    print("输入的联系热不存在,请重新输入!")    delMem(aList)

注意:

如果删除的联系人不存在,怎么处理?对mainList遍历,每一个元素都是一个 list 结构的元素。如果 要删除的联系人不等于numLinst[0],则继续,i 自增1.如果遍历所有的,都没有,则i = len(aList),则判断联系人不存在,重新输入。

修改名片

修改名片,先定位后修改。

def modMem(aList):  i = 0  if len(aList) == 0 :     print("没有联系人,请先添加联系人!")    return  tempList = input("输入需要修改的联系人:")  for numList in aList:    if tempList != numList[0] :      i += 1      continue    else:      tempInf = input("输入修改的信息:")      if tempInf.isnumeric():        numList[1] = tempInf      else:        numList[2] = tempInf  if i == len(aList):    print("输入有误,重新输入!")    modMem(aList)

注意:

is.numeric()方法,判断,全是数字,则是修改的是电话号码,否则则是地址。

查找名片

先定位,再输出。注意分析没有联系人时候情况

def LocaMem(aList):  i = 0  if len(aList) == 0 :     print("没有联系人,请先添加联系人!")    return  tempList = input("输入需要查找的联系人:")  for numList in aList:    if tempList != numList[0] :      i += 1      continue    else:      showList(numList)  if i == len(aList):    print("输入有误,重新输入!")    modMem(aList)       

完整的程序块

def men():  print("\t*****************")  print("\t 名片管理系统\n")  print("\t 1.添加名片\n")  print("\t 2.删除名片\n")  print("\t 3.修改名片\n")  print("\t 4.查询名片\n")  print("\t 5.退出系统\n")  print("\t 0.显示所有名片\n")  print("\t*****************")def increMem(aList):  tempList = []   tempName = input("输入新建名片名字:")  tempList.append(tempName)  while True:    tempPhone = input("输入新建联系人手机号:")     if tempPhone.isnumeric(): break    else: print("输入有误,重新输入")    tempList.append(tempPhone)  tempAddr = input("输入新建联系人地址:")  tempList.append(tempAddr)  print("输入新建联系人信息:")  showList(tempList)  aList.append(tempList)def showList(aList):    print("名字: %s"%aList[0],\     "电话:%s"%aList[1], \     "地址:%s"%aList[2],"\n")def showMem(aList):  if len(aList) == 0:    print("没有联系人!")  for mumList in aList:    print("名字: %s"%mumList[0],\       "电话:%s"%mumList[1], \       "地址:%s"%mumList[2],"\n")def delMem(aList):  i = 0  if len(aList) == 0 :     print("没有联系人,请先添加联系人!")    return  tempName = input("输入要删除的联系人:")  for mumList in aList:    if tempName != mumList[0] :      i += 1      continue    else:      showList(aList[i])      while True:        tempIn = input("是否删除此联系人: Y(是)\t N(否) :")        if tempIn =="Y" or tempIn == "y":          del(aList[i])          print("删除成功!")          return         elif tempIn == "N" or tempIn == "n":          print("重新输入联系人!")          delMem(aList)          return        else:          print("输入有误,重新输入!")if i == len(aList):    print("输入的联系热不存在,请重新输入!")    delMem(aList)def modMem(aList):  i = 0  if len(aList) == 0 :     print("没有联系人,请先添加联系人!")    return  tempList = input("输入需要修改的联系人:")  for numList in aList:    if tempList != numList[0] :      i += 1      continue    else:      tempInf = input("输入修改的信息:")      if tempInf.isnumeric():        numList[1] = tempInf      else:        numList[2] = tempInf  if i == len(aList):    print("输入有误,重新输入!")    modMem(aList)def LocaMem(aList):  i = 0  if len(aList) == 0 :     print("没有联系人,请先添加联系人!")    return  tempList = input("输入需要查找的联系人:")  for numList in aList:    if tempList != numList[0] :      i += 1      continue    else:      showList(numList)  if i == len(aList):    print("输入有误,重新输入!")    modMem(aList) if __name__ == "__main__":        mainList = []  men()  while True:    index = input("输入任务编号:")    if not index.isnumeric():       print("请输入索引编号(1-4):")      continue    index = int(index)    #遍历名片    if index == 0:      showMem(mainList)    #增加名片    if index == 1:       increMem(mainList)    if index == 2:      delMem(mainList)    if index == 3:      modMem(mainList)    if index == 4:      LocaMem(mainList)    if index == 5:      print("退出系统!")      break

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    基于python实现名片管理系统
    下一条:
    python3学生名片管理v2.0版
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客