通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

python如何用字典编写通讯录

python如何用字典编写通讯录

Python使用字典编写通讯录的方法有:创建字典存储联系人信息、使用函数添加、删除和查找联系人、保存和读取数据到文件。 下面将详细描述其中的创建字典存储联系人信息。

在Python中,字典是一种非常适合用于存储关联数据的结构,我们可以将联系人姓名作为字典的键,联系人详情(如电话号码和电子邮件地址)作为值。这样可以很方便地通过姓名来查找对应的联系人信息。

接下来,我们将详细介绍如何使用字典编写一个简易的通讯录系统。

一、创建字典存储联系人信息

在创建通讯录时,我们首先需要定义一个空的字典,用于存储联系人信息。每个联系人可以使用一个嵌套字典来存储其详细信息,例如电话号码和电子邮件地址。

# 定义一个空字典

contacts = {}

添加联系人信息

contacts["Alice"] = {"phone": "123-456-7890", "email": "alice@example.com"}

contacts["Bob"] = {"phone": "098-765-4321", "email": "bob@example.com"}

在上述示例中,我们创建了一个名为contacts的空字典,然后为两个联系人添加了信息。每个联系人都是一个键,其值是一个包含电话号码和电子邮件地址的嵌套字典。

二、使用函数管理联系人信息

为了使通讯录更加实用,我们可以定义一些函数来添加、删除和查找联系人信息。

1. 添加联系人

我们可以定义一个函数来添加新的联系人信息:

def add_contact(contacts, name, phone, email):

contacts[name] = {"phone": phone, "email": email}

print(f"Contact {name} added successfully.")

使用这个函数,我们可以很方便地向通讯录中添加新的联系人:

add_contact(contacts, "Charlie", "321-654-0987", "charlie@example.com")

2. 删除联系人

同样,我们可以定义一个函数来删除联系人:

def delete_contact(contacts, name):

if name in contacts:

del contacts[name]

print(f"Contact {name} deleted successfully.")

else:

print(f"Contact {name} not found.")

使用这个函数,我们可以删除指定的联系人:

delete_contact(contacts, "Alice")

3. 查找联系人

我们还可以定义一个函数来查找联系人信息:

def find_contact(contacts, name):

if name in contacts:

return contacts[name]

else:

print(f"Contact {name} not found.")

return None

使用这个函数,我们可以查找指定联系人的信息:

contact_info = find_contact(contacts, "Bob")

if contact_info:

print(contact_info)

三、保存和读取数据到文件

为了使通讯录的数据持久化,我们可以将字典数据保存到文件中,并在需要时读取。

1. 保存数据到文件

我们可以使用Python的json模块将字典数据保存到文件中:

import json

def save_contacts_to_file(contacts, filename):

with open(filename, 'w') as file:

json.dump(contacts, file)

print(f"Contacts saved to {filename}.")

使用这个函数,我们可以将通讯录数据保存到文件:

save_contacts_to_file(contacts, "contacts.json")

2. 从文件读取数据

同样,我们可以定义一个函数从文件中读取联系人数据:

def load_contacts_from_file(filename):

try:

with open(filename, 'r') as file:

contacts = json.load(file)

print(f"Contacts loaded from {filename}.")

return contacts

except FileNotFoundError:

print(f"File {filename} not found.")

return {}

使用这个函数,我们可以从文件中加载通讯录数据:

contacts = load_contacts_from_file("contacts.json")

四、综合示例

为了更好地展示上述功能,我们可以编写一个完整的示例,包含添加、删除、查找、保存和读取联系人信息的功能。

import json

def add_contact(contacts, name, phone, email):

contacts[name] = {"phone": phone, "email": email}

print(f"Contact {name} added successfully.")

def delete_contact(contacts, name):

if name in contacts:

del contacts[name]

print(f"Contact {name} deleted successfully.")

else:

print(f"Contact {name} not found.")

def find_contact(contacts, name):

if name in contacts:

return contacts[name]

else:

print(f"Contact {name} not found.")

return None

def save_contacts_to_file(contacts, filename):

with open(filename, 'w') as file:

json.dump(contacts, file)

print(f"Contacts saved to {filename}.")

def load_contacts_from_file(filename):

try:

with open(filename, 'r') as file:

contacts = json.load(file)

print(f"Contacts loaded from {filename}.")

return contacts

except FileNotFoundError:

print(f"File {filename} not found.")

return {}

主程序

contacts = load_contacts_from_file("contacts.json")

while True:

print("\n1. Add Contact")

print("2. Delete Contact")

print("3. Find Contact")

print("4. Save Contacts")

print("5. Load Contacts")

print("6. Quit")

choice = input("Enter your choice: ")

if choice == "1":

name = input("Enter name: ")

phone = input("Enter phone number: ")

email = input("Enter email address: ")

add_contact(contacts, name, phone, email)

elif choice == "2":

name = input("Enter name to delete: ")

delete_contact(contacts, name)

elif choice == "3":

name = input("Enter name to find: ")

contact_info = find_contact(contacts, name)

if contact_info:

print(contact_info)

elif choice == "4":

save_contacts_to_file(contacts, "contacts.json")

elif choice == "5":

contacts = load_contacts_from_file("contacts.json")

elif choice == "6":

break

else:

print("Invalid choice. Please try again.")

在这个完整的示例中,我们实现了一个简易的通讯录系统,包含添加、删除、查找、保存和读取联系人信息的功能。通过这种方式,我们可以很方便地管理联系人信息。

五、总结

通过本文,我们学习了如何使用Python字典编写一个简易的通讯录系统。我们首先介绍了如何创建字典存储联系人信息,然后定义了一些函数来添加、删除和查找联系人。接着,我们展示了如何将通讯录数据保存到文件和从文件读取数据。最后,我们编写了一个完整的示例来展示上述功能。

使用Python字典编写通讯录系统不仅简单易用,而且非常灵活,可以根据需要进行扩展和修改。希望本文对你有所帮助!

相关问答FAQs:

如何在Python中创建一个简单的通讯录字典?
要在Python中创建一个通讯录字典,可以使用姓名作为键,电话号码作为值。以下是一个简单的示例代码:

contacts = {
    "Alice": "123-456-7890",
    "Bob": "987-654-3210",
    "Charlie": "555-555-5555"
}

这个字典可以方便地访问和管理联系人信息。

如何添加、删除或更新通讯录中的联系人?
在Python中,可以通过字典的基本操作来添加、删除或更新联系人。使用contacts["新联系人"] = "新号码"来添加,使用del contacts["联系人名"]来删除,更新则直接赋值给现有的键。例如:

# 添加联系人
contacts["David"] = "111-222-3333"

# 删除联系人
del contacts["Alice"]

# 更新联系人的电话号码
contacts["Bob"] = "000-111-2222"

如何遍历通讯录字典以显示所有联系人?
可以使用循环来遍历字典,打印出所有联系人的姓名和电话号码。使用items()方法可以同时获取键和值。示例如下:

for name, phone in contacts.items():
    print(f"联系人: {name}, 电话号码: {phone}")

这种方式能够清晰地展示通讯录中的所有信息,方便用户查看。

相关文章