Python 手机通讯录/学生信息管理系统
1 # 简易手机通讯录 2 3 """ 4 介绍: 5 1、通讯录是记录联系人姓名和联系方式的名录,手机通讯录是最常见的通讯录之一,人们可以在通讯录中通过姓名查看 6 相关联系人的联系方式:手机号、邮箱、地址等信息,也可以在通讯录中新增联系人、修改联系人、删除联系人信息。 7 8 知识点: 9 1、字典的使用:创建、添加、修改、删除、遍历 10 2、循环语句:while、for 11 3、判断语句:if、elif、else 12 4、跳转语句:break、continue 13 4、旗帜使用 14 15 不足(待改善): 16 1、在查看联系人时,使用了制表符'\t',由于每个联系人的信息都不是相同的字符数,甚至空字符, 17 所以在遍历打印时没有打印整齐,有待改善。 18 2、此程序没有太强的可读性,可以添加许多提示语,完善程序,例如:已删除成功、已添加成功等...... 19 3、细心的小伙伴都会注意到,此程序是不断的还行打印,很影响观感,可以尝试改为静态页面,在原基础上刷新。 20 4、此程序的通讯录是暂时暂时存在字典中的,再次运行程序通讯录是空的,可以尝试长久保存起来。 21 """ 22 23 24 # 定义一个字典变量,用于存储好友联系方式 25 address_list = dict() 26 27 # 定义一个字符串变量 28 message = '请输入编号:' 29 30 while True: 31 32 # 通讯录界面打印 33 print('=====欢迎进入通讯录=====') 34 print('1.添加联系人\t2.查看通讯录') 35 print('3.删除联系人\t4.修改联系人') 36 print('5.查找联系人\t0.退出') 37 38 # 选择菜单功能 39 print(message, end='') 40 num = input() 41 42 # 添加联系人 43 if num == '1': 44 # 输入个人信息 45 name = input('请输入姓名:') 46 phone = input('请输入手机号:') 47 e_mail = input('请输入邮箱:') 48 addr = input('请输入地址:') 49 50 # 存入字典 51 address_list[name] = [phone, e_mail, addr] 52 53 # 查看通讯录 54 elif num == '2': 55 56 flag_output = 0 # 打印联系人旗帜 57 58 # 遍历字典元素 59 for i in address_list: 60 print('姓名:{}\t手机号:{}\t邮箱:{}\t地址:{}' .format(i, address_list[i][0], address_list[i][1], address_list[i][2])) 61 flag_output = 1 # 打印联系人旗帜 62 63 # 判断是否打印通讯录联系人 64 65 if flag_output != 1: # 等价于flag_output == 0 66 print('通讯录暂无联系人!') 67 68 # 删除联系人 69 elif num == '3': 70 name = input('请输入需要删除的联系人姓名:') 71 address_list.pop(name) # 删除字典元素 72 73 # 修改联系人 74 elif num == '4': 75 76 flag_alter = 0 # 修改通讯录旗帜 77 78 name = input('请输入需要修改的联系人姓名:') 79 80 # 遍历查找此人 81 for i in address_list: 82 83 # 判断通讯录是否有此人 84 if i == name: 85 # 重新输入个人信息 86 name1 = input('请输入新的姓名:') 87 phone1 = input('请输入新的手机号:') 88 e_mail1 = input('请输入新的邮箱:') 89 addr1 = input('请输入新的地址:') 90 91 # 判断是否有修改联系人姓名 92 if name != name1: 93 address_list.pop(name) # 删除字典元素 94 95 # 重新存入字典(键相同,直接覆盖原有信息) 96 address_list[name1] = [phone1, e_mail1, addr1] 97 flag_alter = 1 # 修改通讯录旗帜 98 break 99 100 # 判断是否修改通讯录联系人 101 if flag_alter == 0: 102 print('此人:{},通讯录不存在!'.format(name)) 103 104 # 查找联系人 105 elif num == '5': 106 107 flag_output = 0 # 打印联系人旗帜 108 109 name = input('请输入需要查找的联系人姓名:') 110 111 # 遍历查找此人 112 for i in address_list: 113 if i == name: 114 print('姓名:{}\t手机号:{}\t邮箱:{}\t地址:{}' .format(name, address_list[name][0], address_list[name][1], address_list[name][2])) 115 flag_output = 1 # 打印联系人旗帜 116 break 117 118 # 判断是否打印通讯录联系人 119 if flag_output != 1: # 等价于flag_output == 0 120 print('此人:{},通讯录不存在!'.format(name)) 121 122 # 退出 123 elif num == '0': 124 print(' =====已退出通讯录=====') 125 break 126 127 # 其他 128 else: 129 print('输入有误!!!') 130 message = '请重新输入编号:' 131 continue 132 133 message = '请输入编号:'
运行结果: