phone_dic = {}  #保存的电话本
chois = 9 #用户选择菜单
isfind = 0#查找是否存储的电话
print(\'\'\'通讯录功能
        1.添加联系人
        2.删除联系人
        3.查找联系人
        4.电话本显示
        5.退出
\'\'\')

#
if os.path.isfile(\'phonedic.txt\'): #是否存在文件
    if os.path.getsize(\'phonedic.txt\') :
        f = open(\'phonedic.txt\',encoding=\'utf-8\',mode=\'r\')
        for line in f:
            line.strip()
            if len(line)>6:#联系人和电话要超过长度6
                liststr = line.split(\',\')
                phone_dic[liststr[0]] = liststr[1]
        print(\'目前已录入的联系人电话:\n\' +\'\n\'.join(phone_dic))
        f.close()

while chois != 0:
        chois = input(\'请选择你要操作的数字\').strip()

        if chois.isdigit():#是否是数字:
            if int(chois) == 1:
                name = input(\'请输入姓名:\').strip()
                phone = input(\'请输入电话号码\').strip()
                while len(phone) < 6:
                    print(\'你输入的电话号码不对,请重新输入\')
                    phone = input(\'请输入电话号码\').strip()
                phone_dic[phone] = name
                f = open(\'phonedic.txt\',mode=\'w\',encoding=\'utf-8\')
                # if os.path.getsize(\'phonedic.txt\'):
                #     f.truncate()   #truncate() 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。
                #     for items in phone_dic.items():
                #         f.write(items[0]+\',\'+items[1] + \'\n\')
                # print(phone_dic)
                for items in phone_dic.items():
                    f.write(items[0]+\',\'+items[1]+ \'\n\')
                f.close()

                print("\033[1;32m 联系人已经保存在通讯录!!! \033[0m")
            elif int(chois) == 2:
                name = input(\'请输入联系人的电话\').strip()
                while len(name) ==0:
                    print(\'输入错误,请重新输入电话号码\')
                if name in phone_dic:
                    del phone_dic[name]
                    print(phone_dic)
                    f = open(\'phonedic.txt\',mode=\'w\',encoding=\'utf-8\')
                    for items in phone_dic.items():
                        f.write(items[0]+\',\'+items[1]+\'\n\')
                    f.close()

                    print("\033[1;32m 联系人 "+name+ "已删除!! \033[0m" )
                    print("保存的联系人电话是:\n " + "\n ".join(phone_dic))
                else:
                    print(\'\033[1;32m  通讯录中不存在要删除的联系人!!!  \033[0m\')

            elif int(chois) == 3:
                name = input(\'请输入联系人电话\').strip()
                while len(name) == 0:
                    print(\'输入错误,请重新输入电话号码\')
                isfind = 0
                for items in phone_dic.items():
                    if name == items[0]:
                        isfind = 1
                        print("你要查找的联系人是: \n" + items[0] + " " + items[1] )
                if isfind == 0:
                    print(\'\033[1;32m  通讯录中没有你要查找的联系人!!!  \033[0m\')
            elif int(chois) == 4:
                print(\'电话          联系人\')
                for items in phone_dic.items():
                    print(items[0] + \'   \'+items[1])
            elif int(chois) == 5:
                break
        else:
            print(\'输入非法,请重新输入\')
            chois = input(\'请选择你要操作的数字\').strip()

 

版权声明:本文为zengluo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zengluo/archive/2004/01/13/12935803.html