博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python练习笔记——通讯录查询V1.0
阅读量:5832 次
发布时间:2019-06-18

本文共 8377 字,大约阅读时间需要 27 分钟。

作业:

编写一个代码,实现手机通讯录管理
实现功能:增、删、改、查

字典,列表

【扩展】不要求一定做出来

实现拼音首字母查找

 

 

phone = {}while True:    num = input("请您输入您的选择(1增 2删 3改 4查):")    phone_value_list = list(phone.values())  # 获得联系人 拼音or号码的值,并将其转为列表    phone_sum = len(phone)  # 计算号码总人数    phone_value_list_new = [phone_value_list[i] for i in range(phone_sum)]    phone_keys_list = list(phone.keys())  # 将字典的建转化成列表    get_do = ""    if num == "1":        # 增start        while True:            while True:                phone_name = input("请输入联系人姓名:")                # 如果遇见联系人姓名已经存在的情况下处理方法start                if phone_name in phone.keys():                    get_do = input("%s联系人已经存在,您是否将该联系人覆盖(y:覆盖/修改|n:放弃)?" %phone_name)                    if "y" == get_do:                        # 此处直接输入,不做验证,待函数后可直接调用函数                        # phone[phone_name][0] = input("为了更便捷您的检索,请输入联系人姓名首字母:")                        # phone[phone_name][1] = input("为了更便捷您的检索,请输入联系人的联系方式:")                        # print("祝贺您修改成功!")                        break                    if "n" == get_do:                        continue                else:                    break                 # 如果遇见联系人姓名已经存在的情况下处理方法end            phone_name_long = len(phone_name)            # 请用户输入拼音首字母start            while True:                phone_abbreviation = input("为了更便捷您的检索,请输入联系人姓名首字母:")                phone_abbreviation_long = len(phone_abbreviation)                if phone_abbreviation_long != phone_name_long:                    print("您输入联系人姓名拼音首字母与姓名不相符")                    continue                for i in range(phone_abbreviation_long):                    # A=65 Z=90   a=97 z=122                    if ord(phone_abbreviation[i]) <65:                        print("您输入联系人姓名拼音首字母错误")                        break                    elif 90 < ord(phone_abbreviation[i]) < 97:                        print("您输入联系人姓名拼音首字母错误")                        break                    elif ord(phone_abbreviation[i]) > 122:                        print("您输入联系人姓名拼音首字母错误")                        break                phone_abbreviation = phone_abbreviation.lower()                print(phone_abbreviation)                break            # 请用户输入拼音首字母end            # 请用户输入手机号start            number_true = 1            while number_true:                phone_number = input("请您输入联系人号码:")                for i in range(len(phone_number)):                    if phone_number[i] not in "1234567890":                        print("您输入的联系号码带有非数字内容")                        break                    else:                        number_true = 0            # 请用户输入手机号end            if get_do == "y":                phone[phone_name][0] = phone_abbreviation                phone[phone_name][1] = phone_number                print(phone)                print("祝贺您修改成功!")            else:                phone[phone_name] = [phone_abbreviation, phone_number]                print(phone)            break    # 增end    # 删start    elif num =="2":        del_true = 1        while del_true:            del_str = input("请输入您想删除的联系人姓名or电话号码")            if del_str in phone.keys():                if 'y' == input("您确定要删除该联系人%s吗(y:删|n:否)" %del_str):                    del phone[del_str]                    print("您已经成功将%s删除了" %del_str)                    break                else:                    break            else:                for i in range(phone_sum):                    if del_str in phone_value_list[i][0] or del_str in phone_value_list[i][1]:                        for j in range(phone_sum):                            # print(j)                            if phone_value_list[i] == phone[phone_keys_list[j]]:                                if 'y' == input("您确定要删除该联系人%s吗(y:删除|n:放弃)" % phone_keys_list[j]):                                    print("您已经成功将%s删除了" % phone[phone_keys_list[j]])                                    del phone[phone_keys_list[j]]                                    if i == j == phone_sum:                                        del_true = 0                                        break                                else:                                    del_true = 0                    elif i == phone_sum:                        print("您要删除联系人的不存在!")                        break    # 删end    # 改start    elif num == "3":        get_look = input("请输入您想修改的联系人姓名or拼音缩写or号码:")        if get_look in phone.keys():            print("姓名\t\t号码")            print("%s\t%s" %(get_look,phone[get_look][1]))            while True:                phone_name_long = len(phone_name)                # 请用户输入拼音首字母start                while True:                    phone_abbreviation = input("为了更便捷您的检索,请输入联系人姓名首字母:")                    phone_abbreviation_long = len(phone_abbreviation)                    if phone_abbreviation_long != phone_name_long:                        print("您输入联系人姓名拼音首字母与姓名不相符")                        continue                    for i in range(phone_abbreviation_long):                        # A=65 Z=90   a=97 z=122                        if ord(phone_abbreviation[i]) < 65:                            print("您输入联系人姓名拼音首字母错误")                            continue                        elif 90 < ord(phone_abbreviation[i]) < 97:                            print("您输入联系人姓名拼音首字母错误")                            continue                        elif ord(phone_abbreviation[i]) > 122:                            print("您输入联系人姓名拼音首字母错误")                            continue                    phone_abbreviation = phone_abbreviation.lower()                    print(phone_abbreviation)                    break                # 请用户输入拼音首字母end                # 请用户输入手机号start                number_true = 1                while number_true:                    phone_number = input("请您输入联系人号码:")                    for i in range(len(phone_number)):                        if phone_number[i] not in "1234567890":                            print("您输入的联系号码带有非数字内容")                            break                        else:                            number_true = 0                            # 请用户输入手机号end                break        else:            for i in range(phone_sum):                if get_look in phone_value_list[i][0]: #表示先前输入的是拼音缩写                    for j in range(phone_sum):                        if phone_value_list[i] == phone[phone_keys_list[j]]: #找到用户                            # 该段代码不做验证,待函数封装后直接调用即可                            print("联系人:%s,检索缩写:%s,联系方式:%s" % (phone_keys_list[j],phone[phone_keys_list[j]][0],phone[phone_keys_list[j]][1]))                            phone[phone_keys_list[j]][0] = get_look                            phone[phone_keys_list[j]][1] = input("请输入需要更变的联系方式")                            print("改变为")                            print("联系人:%s,检索缩写:%s,联系方式:%s" % (phone_keys_list[j],phone[phone_keys_list[j][0]],phone[phone_keys_list[j][1]]))                        # if i == j == phone_sum:                        #     print("您要变更信息的联系人不存在!")                            break                elif get_look in phone_value_list[i][1]: #表示先前输入的是电话号码                    for j in range(phone_sum):                        if phone_value_list[i] == phone[phone_keys_list[j]]:  # 找到用户                            # 该段代码不做验证,待函数封装后直接调用即可                            print("联系人:%s,检索缩写:%s,联系方式:%s" % (phone_keys_list[j],phone[phone_keys_list[j]][0],phone[phone_keys_list[j]][1]))                            phone[phone_keys_list[j]][0] = input("请输入需要更变的拼音缩写")                            phone[phone_keys_list[j]][1] = get_look                            print("改变为")                            print("联系人:%s,检索缩写:%s,联系方式:%s" % (phone_keys_list[j],phone[phone_keys_list[j][0]],phone[phone_keys_list[j][1]]))                        # if i == j == phone_sum:                        #     print("您要变更信息的联系人不存在!")                            break    # 改end    # 查start    elif num == "4":        get_look = input("请输入您想查看的联系人姓名or拼音缩写or号码:")        if get_look in phone.keys():            print("姓名\t号码")            print("%s\t%s" %(get_look,phone[get_look][1]))        elif (get_look in phone_value_list[0]) or (del_str in phone_value_list[1]):            for j in phone_sum:                if get_look in list(phone[phone_keys_list[j]]):                    print("%s\t%s" % (get_look, phone[get_look][1]))        else:            print("您查询的联系人不存在")    # 查end    else:        continue

 

转载地址:http://jhedx.baihongyu.com/

你可能感兴趣的文章
(50)与magento集成
查看>>
Ubuntu设置python3为默认版本
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
32、SpringBoot-整合Dubbo
查看>>
python面向对象基础
查看>>
HDU 2044 一只小蜜蜂(递归)
查看>>
docker 下 安装rancher 笔记
查看>>
spring两大核心对象IOC和AOP(新手理解)
查看>>
数据分析相关
查看>>
Python LDAP中的时间戳转换为Linux下时间
查看>>
微信小程序蓝牙连接小票打印机
查看>>
环境错误2
查看>>
C++_了解虚函数的概念
查看>>
全新jmeter视频已经上架
查看>>
Windows 8下如何删除无线配置文件
查看>>
oracle系列(五)高级DBA必知的Oracle的备份与恢复(全录收集)
查看>>
hp 服务器通过串口重定向功能的使用
查看>>