时间:2023-01-02 09:21:35 | 栏目:Python代码 | 点击:次
把软件的主要结构和流程描述出来
利用函数,不仅可以实现程序的模块化,使得程序设计更加简单和直观,从而提高了程序的易读性和可维护性
而且还可以把程序中经常用到的一些计算或操作编写成通用函数,以供随时调用
实现一个通讯录管理程序,使用函数来实现程序,采用模块化的程序设计方法:
通讯录包含若干联系人,每个联系人包括:姓名、地址、电话 3 项内容。程序提供 4 项基本功能:
通过命令行界面实现以上功能,程序 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 delete_person(): pass # 主函数 def main(): pass main()
# 主函数 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": break else: print("无效选择")
# 添加联系人 def create_person(): name = input("请输入姓名:") address = input("请输入地址:") phone = input("请输入手机:") 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 请输入地址:广州荔湾区 请输入手机:13501111111 1. 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 请输入需要查找的姓名:poloyy 1. create person 2. list all persons 3. query person 4. delete person 5. quit Enter a number(1-5): 2 1. create person 2. list all persons 3. query person 4. delete person 5. quit Enter a number(1-5): 5 Process finished with exit code 0