1.实现一个基于面向对象思想的、具有添加、查看、删除、修改、查找、保存数据功能的通讯录程序。
2.联系人信息包括姓名、性别、手机号。
3.设计一个Friend类,该类中包括__init__( )、welcome( )、add_friend( )、show_friend( )、del_friend( )、modify_friend( )、find_friend( )、save_to_file( )、recover_data( )共9个方法。
4.数据保存到文件“backup.data”中,程序运行时自动从文件恢复数据,若没有数据则捕获异常,新建一个空白文件。
Python实现手机通讯录功能
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-天际的海浪 2021-12-30 18:35关注
参考下这个,.自己修改下
#-*- coding:utf-8 -*- import json class System(): def __init__(self): self.data = [] self.load() while True: s = self.menu() if s=="1": self.inquire() elif s=="2": self.add() elif s=="3": self.delete() elif s=="4": self.revise() elif s=="5": self.save() break def load(self): try: with open("data.txt","r") as f: d = f.read() self.data = json.loads(d) except Exception: self.data = [] def save(self): with open("data.txt","w") as f: f.write(json.dumps(self.data)) def menu(self): print("********** 学生信息管理 *************") print("\t1.查询") print("\t2.添加") print("\t3.删除") print("\t4.修改") print("\t5.保存并退出") print("***********************************") return input("请输入1-5选择功能并按回车:") def inputDsta(self): return { "学号": input("输入学号:"), "姓名": input("输入姓名:"), "性别": input("输入性别:"), "年龄": input("输入年龄:"), "电话": input("输入电话:") } def inputID(self,t): while True: try: i = int(input(t))-1 if 0 <= i < len(self.data): return i else: print("输入id超出范围,请重新输入。") except ValueError: print("输入错误,请重新输入。") def inquire(self): print("id\t学号\t姓名\t性别\t年龄\t电话") for i,d in enumerate(self.data): print(f"{i+1}\t{d['学号']}\t{d['姓名']}\t{d['性别']}\t{d['年龄']}\t{d['电话']}") def add(self): self.data.append(self.inputDsta()) def delete(self): i = self.inputID("请输入要删除信息的id:") del self.data[i] print(f"id为{i+1}的信息已删除") def revise(self): i = self.inputID("请输入要修改信息的id:") self.data[i] = self.inputDsta() sys = System()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
- ¥100 华为手机私有App后台保活
- ¥15 sqlserver中加密的密码字段查询问题
- ¥20 有谁能看看我coe文件到底哪儿有问题吗?
- ¥20 我的这个coe文件到底哪儿出问题了
- ¥15 matlab使用自定义函数时一直报错输入参数过多
- ¥15 设计一个温度闭环控制系统
- ¥100 rtmpose姿态评估
- ¥15 通联支付网上收银统一下单接口
- ¥15 angular有偿编写,