admin 管理员组文章数量: 1087576
Python基础项目:手机通讯录系统
最近与一高校合作开发课程,要求讲课方式要更符合现在学生的思路,提高学生学习兴趣。从传统教学的以点推点,进化到以面及点的方法,通过实际案例的思想推动理解需要掌握的知识点,更早的培养学生理解企业项目。
准备的第一个基础案例为今天的主题:Python语言实现手机通讯录管理系统。主要输出与互动通过控制台展示。
需求:
完成简易手机通讯录管理系统,包括以下功能:
- 能够循环接收客户端输入的功能编号,并根据编号选择对应的功能操作
- 用户输入“1”时,执行增加姓名和手机号码的操作
- 用户输入“2”时,执行删除姓名和手机号码的操作,根据用户输入姓名,删除对应手机号码
- 用户输入“3”时,执行修改手机号码的操作,根据用户输入姓名,修改对应手机号码
- 用户输入“4”时,执行显示全部姓名和手机号码的操作
- 用户输入“5”时,执行查询手机号码的操作,根据用户输入姓名,查找对应手机号码
- 用户输入“6”时,感谢用户使用,退出手机通讯录管理系统的程序
通过此例子可以掌握知识点:
- python语言基础语法:变量,运算符,输入与输出语句
- 逻辑控制语句的使用:分支语言if...elif..else 以及 循环语句for...in.. while True(无限循环)
- 函数的定义及调用
- 数据结构:列表list,可以存放多个多种类型的数据
分析:用户对于通讯录系统的操作是针对于相同内容的数据,而且联系人信息应该存在多条,所以应该存放在一个容器当中统一管理,这里使用python自带数据结构中的列表进行存放,然后增删改查其实就是对于列表方法的调用。关于列表的学习可通过菜鸟教程等辅助网站进行了解。
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型。
列表常用方法:
实现代码如下:
def addUser(contactlist):# 1.增加姓名和手机name = input("请输入姓名:>")# 判断姓名,在列表当中是否已经存储,如果存储,就提示用户不能存储,否则就存入flag = False # 默认此人没存储过for index in range(len(contactlist)):if (contactlist[index][0] == name):print("此联系人已经存在,请重新输入!!")flag = True # 设置此人已经存储breakif not flag:phone = input("请输入手机号:>")singlelist = [name, phone]# 将一个人信息组成的列表,添加到总体的列表当中contactlist.append(singlelist)print("输入完成")def deleteUser(contactlist):# 2.删除姓名name = input("请输入要删除的联系人:>")flag = False # 默认这个人不存在# 遍历列表,查看这个列表当中是否包含此人for index in range(len(contactlist)):if contactlist[index][0] == name:# 说明此人存在del contactlist[index]flag = Trueprint("删除成功")breakif not flag:print("查无此人!")def updateUser(contactlist):# 3.修改手机号码name = input("请输入要修改的联系人:>")flag = False # 默认这个人不存在# 遍历列表,查看这个列表当中是否包含此人for index in range(len(contactlist)):if contactlist[index][0] == name:# 说明此人存在phone = input("请输入要修改的电话号码:>")contactlist[index][1] = phoneflag = Trueprint("修改成功")breakif not flag :print("查无此人!")def getAllUser(contactlist):# 4.查询所有用户print("-------------------")for i in contactlist:print("用户:\t%s\t\t%s" % (i[0], i[1]))print("-------------------")def queryPhoneByName(contactlist):# 5.根据姓名查找手机号name = input("请输入要查询的联系人:>")flag = False # 默认这个人不存在# 遍历列表,查看这个列表当中是否包含此人for index in range(len(contactlist)):if contactlist[index][0] == name:# 说明此人存在print("您要查找的手机号码是:%s" % (contactlist[index][1]))flag = Truebreakif not flag:print("查无此人!")def work(contactlist):while True:num = input("请根据规则继续输入:>")#判断用户输入码是否在1,2,3,4,5,6当中if num not in ['1','2','3','4','5','6']:print("输入有误,请重新输入")else:if num=='1':addUser(contactlist)elif num == '2':deleteUser(contactlist)elif num == '3':updateUser(contactlist)elif num == '4':getAllUser(contactlist)elif num == '5':queryPhoneByName(contactlist)elif num == '6':#6.退出print("感谢使用")breakdef main():# 因为可能存储多组数据,创建一个列表,目前列表没有元素,所以为空列表contactlist = []info = '''====通讯录管理系统====1.增加姓名和手机2.删除姓名3.修改手机4.查询所有用户5.根据姓名查找手机号6.退出====================='''print(info)work(contactlist)if __name__ == "__main__":main()
实现效果图如下:
以上为手机通讯录系统使用python语言简单实现的基本介绍,后续会在此思路上对于python基础语法进行进一步生动案例讲解。熟悉面向对象思想的同学们,可以将代码封装更贴近开发思维。感谢您的阅读~~
本文标签: Python基础项目手机通讯录系统
版权声明:本文标题:Python基础项目:手机通讯录系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1700300798a386783.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论