python实现通讯录的增删改查功能

这是一个基于Python实现的简单通讯录管理系统。用户可以进行增、删、改、查和退出操作,所有数据存储在文本文件中。系统对输入的数据如电话、邮件和生日进行了格式检查,确保数据的合法性,并在操作完成后更新文件内容。
摘要由CSDN通过智能技术生成

文件上输入通讯录的内容,包含编号、姓名、电话、地址、邮件、生日信息:

要求:

1.将数据提前录入到文本里 

2.提供基于人名的增、删、改、查功能。

3.电话号码允许多个

4.邮件、电话和生日(20001011)要进行格式的合法性判断

5.能够将修改后的内容保存到文件里。


print("-"*20+'ENTER ADDRESS BOOOK'+'-'*20)
print("Hello!Friends!")

print("""
***增添名单请按:1
***输出所有请按:2
***删除名单请按:3
***修改名单请按:4
***查找名单请按:5
***退出程序请按:6
""")
file = open('5.2.txt','r')
list_1=[]
for line in file:
    list_1.append(eval(line))
while 1:
    option = int(input('请输入你的选择:'))
    if option == 1:
        list_2 = {}
        number=len(list_1)+1
        name = input('请输入添加联系人的名字:')
        Telephone = input('请输入电话号码:')
        mailbox=input('请输入邮箱:')
        address = input('请输入住址:')
        birthday = input('请输入生日:')
        if str.isalpha(name) == 1:
            f=1
        else:
            print("输入不规范,请输入英文名")
            break
        if str.isdigit(Telephone) == 1:
            f=1
        else:
            print("输入不规范,请输入纯数字")
            break
        if str.isalpha(address) == 1:
            f=1
        else:
            print("输入不规范,请输入英文地址")
            break       
        list_2['num'] = number
        list_2['name'] = name
        list_2['Telephone'] = Telephone
        list_2['mailbox'] = mailbox
        list_2['address'] = address
        list_2['birthday'] = birthday
        list_1.append(list_2)
        print('添加成功!\n')
        file1 = open('5.2.txt', 'at')
        for i in list_1:
            file1.write(str(i).strip())
            file1.write('\n')
        file1.close()
    elif option == 2:
        for i in list_1:
            print(f'序号:{i["num"]}\n姓名:{i["name"]}\n电话号码:{i["Telephone"]}\n邮箱:{i["mailbox"]}\n住址:{i["address"]}\n生日:{i["birthday"]} ')
            print('\n')
    elif option == 3:
        name1 = input('请输入你要删除的联系人:')
        if str.isalpha(name1) == 1:
            f=1
        else:
            print("输入不规范,请输入英文名")
            break
        flag=1
        for j in list_1:
            if j['name'] == name1:
                list_1.remove(j)
                print('删除完成')
        for t in list_1:
            t['num'] = flag
            flag = flag+1
            print(t['num'])
        file3 = open('5.2.txt', 'w')
        for i in list_1:
            file3.write(str(i).strip())
            file3.write('\n')
        file3.close()
    elif option == 4:
        name2 = input('请输入你要修改联系人的姓名:')
        if str.isalpha(name2) == 1:
            f=1
        else:
            print("输入不规范")
            break
        for k in list_1:
            if k['name'] == name2:
                new_name = input('请输入新的姓名:')
                new_Telephone = input('请输入新的电话号码:')
                new_mailbox = input('请输入新的邮箱:')
                new_address = input('请输入新的住址:')
                new_birthday = input('请输入新的生日:')
                if str.isalpha(new_name) == 1:
                    f = 1
                else:
                    print("输入不规范")
                    break
                if str.isdigit(new_Telephone) == 1:
                    f = 1
                else:
                    print("输入不规范")
                    break
                if type(new_mailbox) == str:
                    f = 1
                else:
                    print("输入不规范")
                    break
                if str.isalpha(new_address) == 1:
                    f = 1
                else:
                    print("输入不规范")
                    break
                if str.isdigit(new_Telephone) == 1:
                    print("正在添加")
                else:
                    print("输入不规范")
                    break
                k['name'] = new_name
                k['Telephone'] = new_Telephone
                k['mailbox'] = new_mailbox
                k['address'] = new_address
                k['birthday'] = new_birthday
                print('修改成功')
        file4 = open('5.2.txt', 'w')
        print(list_1)
        for i in list_1:
            file4.write(str(i).strip())
            file4.write('\n')
        file4.close()
    elif option == 5:
        name3 = input('请输入你要查找的联系人姓名:')
        if str.isalpha(name3) == 1:
            f=1
        else:
            print("输入不规范")
            break
        for l in list_1:
            if l['name'] == name3:
                print(f'姓名:{l["name"]}\n电话号码:{l["Telephone"]}\n邮箱:{l["mailbox"]}\n住址:{l["address"]}  ')
    elif option == 6:
        break
    else:
        print('当前没有该选项,请重新输入')

 

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值