前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python优雅操作-实现名片管理系统

python优雅操作-实现名片管理系统

作者头像
一墨编程学习
发布2018-12-24 11:28:56
5640
发布2018-12-24 11:28:56
举报

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

在比较熟悉python常用的数据类型之后,我们可以开始优雅地操作一个小项目,实现名片管理系统

能实现如下功能:


名片管理系统

1.添加名片

2.删除名片

3.修改名片

4.查询名片

5.退出系统

0.显示所有名片


添加名片

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

代码语言:javascript
复制
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()函数删除联系人。

代码语言:javascript
复制
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),则判断联系人不存在,重新输入。

修改名片

修改名片,先定位后修改

代码语言:javascript
复制
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()方法,判断,全是数字,则是修改的是电话号码,否则则是地址。

查找名片

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

代码语言:javascript
复制
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)         

完整的程序块

代码语言:javascript
复制
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
 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档