python 手机通讯录

1、定义查、增/改、删

2、通讯录内添加一部分数据

3、进入通讯录程序

调用查、增/改、删函数
输入是否退出程序命令
print('手机通讯录')
#1、定义查,增,删函数
def name_inquiry(inquiry):
    #查询方法1
    print('号码是:',phone_data.get(inquiry,'查无此人'))
# #查询方法2
# print(phone_data(inquiry) if '' in phone_data else '查无此人')
# #查询方法3
# if inquiry in phone_data:
#     print(phone_data(inquiry))
# else:
#     print('查无此人')

def name_add(name,data):
    #添加
    phone_data[name]=data
    print('当前通讯录信息:')
    for p_name, p_data in phone_data.items():
        print(p_name, '号码:', p_data)
def names_del(name_del):
    #删除
    if name_del in phone_data:
        del phone_data[name_del]
    else:
        print('通讯录里不存在此人')
    print('当前通讯录信息:')
    for p_name, p_data in phone_data.items():
        print(p_name, '号码:', p_data)

#2、通讯录添加一些数据
phone_data=dict(奥利弗='13526984569',杜师傅='15863945786',茶不思='18298765368',凯撒='13548755894')
print('当前通讯录信息:')
for p_name,p_data in phone_data.items():
    print(p_name,'号码:',p_data)

#3、进入程序
enter = 1#决定是否退出
while int(enter) != 0:
    num = int(input('请输入操作选项:1:查询,2:添加/修改,3:删除:'))
    if num == 1:
        inquiry = input('请输入要查询的名字:')
        name_inquiry(inquiry)
    elif num == 2:
        name = input('请输入添加姓名:')
        data = input('请输入添加号码:')
        name_add(name, data)
    elif num == 3:
        name_del = input('请输入要删除的姓名:')
        names_del(name_del)
    else:
        print('数字输入错误!')
    print('请输入enter值:1~9:继续i+1,0:退出循环:')
    enter = input()
    print('enter值:', enter)
print('您已退出程序')

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现一个Python手机通讯录可以按照以下步骤进行: 1. 创建一个通讯录类,包含添加联系人、删除联系人、查找联系人等方法。 2. 使用pickle模块将通讯录对象保存到本地磁盘,以便下次使用时可以直接加载。 3. 使用tkinter模块创建一个简单的GUI界面,包含添加联系人、删除联系人、查找联系人等按钮,并在点击按钮时调用相应的方法实现功能。 下面是一个简单的示例代码,可以供参考: ```python import pickle import tkinter as tk class Contact: def __init__(self, name, phone): self.name = name self.phone = phone class AddressBook: def __init__(self): self.contacts = [] def add_contact(self, name, phone): contact = Contact(name, phone) self.contacts.append(contact) def delete_contact(self, name): for i, contact in enumerate(self.contacts): if contact.name == name: del self.contacts[i] break def find_contact(self, name): for contact in self.contacts: if contact.name == name: return contact.phone return None def save(self, filename): with open(filename, 'wb') as f: pickle.dump(self, f) @staticmethod def load(filename): with open(filename, 'rb') as f: return pickle.load(f) class GUI: def __init__(self, address_book): self.address_book = address_book self.root = tk.Tk() self.root.title('Address Book') tk.Label(self.root, text='Name:').grid(row=0, column=0) tk.Label(self.root, text='Phone:').grid(row=1, column=0) self.name_entry = tk.Entry(self.root) self.phone_entry = tk.Entry(self.root) self.name_entry.grid(row=0, column=1) self.phone_entry.grid(row=1, column=1) tk.Button(self.root, text='Add', command=self.add_contact).grid(row=2, column=0) tk.Button(self.root, text='Delete', command=self.delete_contact).grid(row=2, column=1) tk.Button(self.root, text='Find', command=self.find_contact).grid(row=2, column=2) def add_contact(self): name = self.name_entry.get() phone = self.phone_entry.get() self.address_book.add_contact(name, phone) self.address_book.save('address_book.pkl') self.clear_entries() def delete_contact(self): name = self.name_entry.get() self.address_book.delete_contact(name) self.address_book.save('address_book.pkl') self.clear_entries() def find_contact(self): name = self.name_entry.get() phone = self.address_book.find_contact(name) if phone: tk.messagebox.showinfo('Phone Number', phone) else: tk.messagebox.showerror('Error', 'Contact not found') self.clear_entries() def clear_entries(self): self.name_entry.delete(0, tk.END) self.phone_entry.delete(0, tk.END) def run(self): self.root.mainloop() if __name__ == '__main__': try: address_book = AddressBook.load('address_book.pkl') except FileNotFoundError: address_book = AddressBook() gui = GUI(address_book) gui.run() ``` 这个代码实现了一个简单的GUI界面,可以添加、删除、查找联系人,并将通讯录对象保存到本地磁盘。注意,这个示例代码只是一个简单的实现,可能需要根据自己的需求进行一些修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值