用python制作通讯录管理1.主要功能: (1) 能建立,修改和增删学生通讯录 (2) 能够按多种方式进行查询 2.要求:界面友好,易于操作
时间: 2024-02-06 11:10:01 浏览: 35
好的,我可以为您提供一个简单的Python通讯录管理程序,实现以上主要功能。界面使用Python自带的Tkinter库来实现,具体如下:
``` python
from tkinter import *
# 创建一个空字典,用于存储通讯录信息
contacts = {}
# 添加联系人函数
def add_contact():
name = name_entry.get()
phone = phone_entry.get()
if name and phone:
contacts[name] = phone
result_text.set("添加联系人成功!")
else:
result_text.set("姓名和电话不能为空!")
# 查询联系人函数
def search_contact():
search_key = search_entry.get()
if search_key:
if search_key in contacts:
result_text.set("查询结果:{} - {}".format(search_key, contacts[search_key]))
else:
result_text.set("未找到该联系人!")
else:
result_text.set("查询关键字不能为空!")
# 删除联系人函数
def delete_contact():
delete_key = delete_entry.get()
if delete_key:
if delete_key in contacts:
del contacts[delete_key]
result_text.set("删除联系人成功!")
else:
result_text.set("未找到该联系人!")
else:
result_text.set("删除关键字不能为空!")
# 修改联系人函数
def modify_contact():
modify_name = modify_name_entry.get()
modify_phone = modify_phone_entry.get()
if modify_name and modify_phone:
if modify_name in contacts:
contacts[modify_name] = modify_phone
result_text.set("修改联系人成功!")
else:
result_text.set("未找到该联系人!")
else:
result_text.set("姓名和电话不能为空!")
# 创建窗口和控件
window = Tk()
window.title("通讯录管理系统")
# 添加联系人控件
name_label = Label(window, text="姓名:")
name_label.grid(row=0, column=0)
name_entry = Entry(window)
name_entry.grid(row=0, column=1)
phone_label = Label(window, text="电话:")
phone_label.grid(row=0, column=2)
phone_entry = Entry(window)
phone_entry.grid(row=0, column=3)
add_button = Button(window, text="添加联系人", command=add_contact)
add_button.grid(row=0, column=4)
# 查询联系人控件
search_label = Label(window, text="查询:")
search_label.grid(row=1, column=0)
search_entry = Entry(window)
search_entry.grid(row=1, column=1)
search_button = Button(window, text="查询联系人", command=search_contact)
search_button.grid(row=1, column=2)
# 删除联系人控件
delete_label = Label(window, text="删除:")
delete_label.grid(row=2, column=0)
delete_entry = Entry(window)
delete_entry.grid(row=2, column=1)
delete_button = Button(window, text="删除联系人", command=delete_contact)
delete_button.grid(row=2, column=2)
# 修改联系人控件
modify_name_label = Label(window, text="姓名:")
modify_name_label.grid(row=3, column=0)
modify_name_entry = Entry(window)
modify_name_entry.grid(row=3, column=1)
modify_phone_label = Label(window, text="电话:")
modify_phone_label.grid(row=3, column=2)
modify_phone_entry = Entry(window)
modify_phone_entry.grid(row=3, column=3)
modify_button = Button(window, text="修改联系人", command=modify_contact)
modify_button.grid(row=3, column=4)
# 显示结果控件
result_text = StringVar()
result_label = Label(window, textvariable=result_text)
result_label.grid(row=4, column=0, columnspan=5)
# 运行窗口
window.mainloop()
```
这个程序实现了添加、查询、删除和修改联系人的功能。在程序运行时,会弹出一个窗口,您可以在窗口中输入联系人信息,然后点击相应的按钮执行相关操作。结果会在窗口中显示。
需要注意的是,这个程序还没有进行数据持久化的处理,也就是说,如果您关闭程序后再次打开,之前添加的联系人就会丢失。如果您想要实现数据持久化,可以使用Python自带的shelve模块,将字典对象存储到本地文件中。