——————————————————————————————————————————————————————

想要掌握什么知识,就需要在什么花费时间,浮躁的看,过目即忘,再加上学完了,并不使用,过几天都忘关了。

学以致用!学习Python时候,也要想想,如果是C/C++如何编程实现。一遍一遍的写,一遍一遍的学习。

明天会感谢自己今天的努力!

——————————————————————————————————————————————————————

前言

之前看过一遍的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实训名片管理程序_python实现名片管理系统相关推荐

  1. python实训主要成果_Python实训周总结

    - 精品 -- Python 实训周总结 Python 的学习到现在已经有半个月了,通过讲解与企业化标准的培训,使我 加深了对 python 的认识.因为之前有学 Java 的基础,所以这次实训入门时 ...

  2. python实训目的意义_Python实训第二天--基础知识2

    '''''' ''' 列表: 定义: 在[]内,可以存放多个任意类型的值, 并以逗号隔开. 一般用于存放学生的爱好,课堂的周期等等... ''' # 定义一个学生列表,可存放多个学生 # list([ ...

  3. educode实训平台---二维码名片制作

    educode实训平台-二维码名片制作 第1关:二维码名片页面的结构设计 <!doctype html> <html lang="en"> <head ...

  4. Python实训day12am【网络爬虫大作业简略解析:动态生成html页面、数据写入Excel】

    Python实训-15天-博客汇总表 目录 1.HTML页面设计 2.生成每个城市的HTML页面 2.1.HTML页面代码(weatherTemplate.html) 2.2.实例代码-动态生成htm ...

  5. 大学python实训总结-千锋Python实训总结 学好基础才能走的更远

    时间飞逝,不知不觉在千锋学习Python已经一个月了,在这不长不短的一个月时间感觉我以往的生活方式和学习方式完全被改变了,希望我能继续保持这样的求学心态和学习态度.下面这个Python实训总结就是我对 ...

  6. Python实训day14pm【Python网络爬虫综合大作业-参考解析】

    Python实训-15天-博客汇总表 题目:天气数据的爬取和统计 大作业题目思路引导:定时爬取每个地级市的实时天气状况.存入excel中.为每个城市生成html展示.历史excel文件以每日为单位归档 ...

  7. Python实训day14am【Python网络爬虫综合大作业-答辩】

    Python实训-15天-博客汇总表 实训总结: 由浅入深的了解了python语言应用: 编写了很多案例,完成了发作业,提升了编程思路和能力: 了解了行业现状,认识到企业对人才的要求,去除焦虑,对后续 ...

  8. Python实训day13am【Python网络爬虫综合大作业PPT】

    Python实训-15天-博客汇总表   今天上午大家抓紧时间继续完成实训报告和PPT,有问题我会在群里跟大家说明, 暂时不用上线直播了. 实训结束后,我会在博客上发布网络爬虫综合大作业题目及解析.

  9. Python实训day12pm【答辩要求、定时器】

    Python实训-15天-博客汇总表 目录 1.答辩安排 2.定时器 1.答辩安排 下午安排: 今天尽量地完成整个项目: 明天完成实训报告,制作小答辩PPT: 后天答辩. PPT要求: 时长5分钟左右 ...

最新文章

  1. angularJS 全选反选批量删除
  2. oracle12c分页,ArcSDE10.2.1使用Oracle12c新特性分页
  3. 笔记-高项案例题-2016年上-整体管理+风险管理
  4. 使用GitLab CI和Docker进行容器应用自动化部署
  5. React学习笔记(持续更新)
  6. input的type属性的修改
  7. Qt利用avilib实现录屏功能_openlayers6结合geoserver利用WFS服务实现图层编辑功能(附源码下载)...
  8. 飞鸽传书 宣传单和电话说辞
  9. uml边界类例子_面向对象UML笔记
  10. FlashBuilder 4.6破解方法
  11. pcsx2 linux双显卡,PC模拟PS2游戏模拟器PCSX2使用教程
  12. 职场达人教你如何做高效工作汇报!
  13. python中ttk_ttk/Python中的按钮图像问题
  14. Layui 表单设计器
  15. 本周AI热点回顾:政府数据将开放共享、生命游戏发明者逝世、百度Apollo对外发布“ACE 交通引擎”
  16. 计算机单位pt,iOS尺寸单位pt、ppi与px之间换算关系
  17. JAVA第二次作业《胖瘦程度计算》
  18. Linux后台运行Jar方法
  19. pdf表格怎么转换成excel呢?
  20. 全加器——Verilog HDL语言

热门文章

  1. Windows Server 2008 域操作(创建域、加入域、创建普通用户、组策略管理设置)
  2. 【论文翻译】nuPlan: A closed-loop ML-based planning benchmark for autonomous vehicles
  3. linux中shell脚本批处理命令
  4. 年轻人的第一个APM-Skywalking
  5. 毕业设计 - 题目:基于机器视觉的图像矫正 (以车牌识别为例) - 图像畸变校正
  6. 隐马尔可夫模型(Baum Welch算法与Viterbi算法)
  7. 俄罗斯联邦储蓄银行将采取措施绕开本国加密货币监管
  8. 神经元轴突发育的探索简史
  9. python 中dtype 为object_DataFrame中的字符串,但dtype是对象
  10. 07 linux 一个完整的shell脚本调试工具