嗨害大家好鸭!我是小熊猫❤
好久没有整实战案例类文章辽
今天就来整一整~
功能简介
实现一个通讯录管理程序,使用函数来实现程序,采用模块化的程序设计方法:
- 划分通讯录程序的功能模块,使用函数实现相应的功能
- 首先实现整体框架,然后再细化每个功能细节
- 最终的程序由多个函数构成,每个函数实现一个单一的功能,整个程序的结构清晰
通讯录功能简介
通讯录包含若干联系人,每个联系人包括:姓名、地址、电话 3 项内容。程序提供 4 项基本功能:
- 增加联系人: 用户输入姓名、地址、电话等信息,将信息保存在一个列表中
- 列出联系人: 打印输出所有联系人的信息
- 查询联系人: 用户输入联系人姓名,打印输出该联系人的信息
- 删除联系人: 用户输入联系人姓名,从通讯录中删除该联系人
主程序入口
通过命令行界面实现以上功能,
程序 addr-manage.py 运行时首先打印一个菜单
C:\> python addr-manage.py
1. create person
2. list all persons
3. query person
4. delete person
5. quit
Enter a number(1-5):
主程序包含以下功能
用什么数据结构来描述一个联系人
- 字典最佳
- 因为联系人可能会有很多个属性
- 假设联系人有三个属性
字典表示联系人
{"name": "张三","address": "南京","phone": "12306"
}
那么这是一个联系人
用什么数据结构来描述一个通讯录
通讯录会有多个联系人,所以会有多个字典,
可以通过列表来表示通讯录
zhangSan = {'name': '张三', 'address': '南京', 'phone': '12306'}
liSi = {'name': '李四', 'address': '北京', 'phone': '10086'}
persons = [zhangSan, liSi]
一个函数对应一个功能
总的代码结构
# 通讯录
persons = []# 添加联系人
def create_person():pass# 列出联系人
def list_person():pass# 查出联系人
def query_person():pass# 删除联系人`# 主函数
def main():while True:# 获取用户输入input_str = input("1. create person\n""2. list all persons\n""3. query person\n""4. delete person\n""5. quit\n""Enter a number(1-5): ")if input_str == "1":create_person()elif input_str == "2":list_person()elif input_str == "3":query_person()elif input_str == "4":delete_person()elif input_str == "5":breakelse:print("无效选择")`
def delete_person():pass# 主函数
def main():passmain()
主函数代码实现
- 获取用户输入的选择
- 根据选择执行对应的功能
- 不断重复第一步
添加联系人代码实现
# 添加联系人
def create_person():name = input("请输入姓名:")address = input("请输入地址:")phone = input("请输入手机:")python学习交流裙:660193417##if name and address and phone:person = {"name": name,"address": address,"phone": phone}persons.append(person)
列出联系人代码实现
# 列出联系人
def list_person():for person in persons:print(person)
查出联系人代码实现
# 查出联系人
def query_person():name = input("请输入需要查找的姓名:")for person in persons:if name == person["name"]:print(person)
删除联系人代码实现
# 删除联系人
def delete_person():name = input("请输入需要查找的姓名:")for person in persons:if name == person["name"]:persons.remove(person)
运行效果
1. create person
2. list all persons
3. query person
4. delete person
5. quit
Enter a number(1-5): 1
请输入姓名:poloyy
请输入地址:广州荔湾区
请输入手机:135011111111. create person
2. list all persons
3. query person
4. delete person
5. quit
Enter a number(1-5): 2
{'name': 'poloyy', 'address': '广州荔湾区', 'phone': '13501111111'}1. create person
2. list all persons
3. query person
4. delete person
5. quit
Enter a number(1-5): 3
请输入需要查找的姓名:poloyy
{'name': 'poloyy', 'address': '广州荔湾区', 'phone': '13501111111'}1. create person
2. list all persons
3. query person
4. delete person
5. quit
Enter a number(1-5): 4
请输入需要查找的姓名:poloyy1. create person
2. list all persons
3. query person
4. delete person
5. quit
Enter a number(1-5): 21. create person
2. list all persons
3. query person
4. delete person
5. quit
Enter a number(1-5): 5Process finished with exit code 0
今天的文章就是这样啦~
源码资料、报错解答可以点击文末名片