用Python列表和字典完成一个简单的通讯录管理器

1.实验内容

通讯录管理器是一款生活实用软件,用来协助管理手机中的所有联系人。这个案例要求使用函数完成通讯录中联系人数据的增删改查等各种功能。根据键盘的输入来选择对应的函数要完成的功能。

2.实验步骤

(1)实现显示通讯录的功能菜单函数。
(2)完成获取用户输入信息的函数。
(3)完成“1.添加联系人”、“2.删除联系人”、“3.修改联系人”、“4.查询联系人”、“5.显示所有联系人”和“6.保存数据”功能的函数。数据以字符串的形式保存在文本文件中。
(4)主函数中利用循环,不断要等待用户输入1~6的数字,利用选择结构实现当用户输入不同的数字时,调用对应的函数,完成相应的功能。当用户输入0时,利用break语句退出循环,结束程序。
(5)添加函数recover_info,当启动程序时,将已经保存在文件中的数据读取出来,作为初始数据放入全局变量中。

3.列表代码

# 读取初始数据
def recover_info(list):
    f = open("data.txt", 'r',encoding='utf-8')
    line = f.readline()
    while line != "":
        line0 = line.rstrip()
        line1 = line0.split()
        list.append(line1)
        line = f.readline()

# 添加联系人函数
def add(list):
    name = input("请输入姓名:")
    flag = False # 判断是否已经存储,默认未存储
    for i in range(len(list)):
        if list[i][0] == name:
            print("该联系人已存在,请重新输入!")
            flag = True
            break
    if not flag:
        phone = input("请输入手机号码:")
        addlist = [name,phone]
        list.append(addlist)
        print("输入完成")

# 删除联系人函数
def delete(list):
    name = input("请输入需要删除的联系人:")
    flag = False # 判断是否已经存在,默认不存在
    for i in range(len(list)):
        if list[i][0] == name:
            del list[i]
            flag = True
            print("已删除成功")
            break
    if not flag:
        print("没有该联系人记录!")

# 修改联系人函数
def update(list):
    name = input("请输入需要修改的联系人:")
    flag = False  # 判断是否已经存在,默认不存在
    for i in range(
  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较大的项目,需要一步步实现。 首先,我们需要设计一个基本的数据结构来存储通讯录信息和短信信息。可以考虑使用字典来存储联系人的姓名、电话号码和其他信息,使用列表来存储短信信息,每个短信信息可以用字典来表示。 ```python # 存储联系人信息的字典 contacts = {} # 存储短信信息的列表 messages = [] ``` 接下来,我们需要实现添加联系人和删除联系人的功能。可以设计一个函数来实现这个功能,该函数接受联系人的姓名、电话号码和其他信息作为参数,将它们存储到字典中。 ```python def add_contact(name, phone, other_info): contacts[name] = {'phone': phone, 'other_info': other_info} def remove_contact(name): del contacts[name] ``` 然后,我们需要实现发送短信和查看短信的功能。可以设计一个函数来实现这个功能,该函数接受短信的发送者、接收者、内容等信息作为参数,将它们存储到列表中。 ```python def send_message(sender, receiver, content): message = {'sender': sender, 'receiver': receiver, 'content': content} messages.append(message) def view_messages(): for message in messages: print('From: %s\nTo: %s\nContent: %s' % (message['sender'], message['receiver'], message['content'])) ``` 最后,我们需要实现一个用户界面来操作通讯录和短信管理系统。可以设计一个无限循环的主程序,每次循环中读取用户输入的命令,然后调用相应的函数来实现对通讯录和短信的操作。 ```python while True: command = input('Enter command: ') if command == 'add': name = input('Enter name: ') phone = input('Enter phone: ') other_info = input('Enter other info: ') add_contact(name, phone, other_info) elif command == 'remove': name = input('Enter name: ') remove_contact(name) elif command == 'send': sender = input('Enter sender: ') receiver = input('Enter receiver: ') content = input('Enter content: ') send_message(sender, receiver, content) elif command == 'view': view_messages() elif command == 'quit': break ``` 这就是一个简单通讯录信息和短信信息的管理系统。当然,这只是一个简单的原型,还有很多细节需要完善,比如输入参数的校验、数据的持久化等等。但是,这个原型已经能够满足基本的需求了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值