Python简易电话簿系统

本篇文章将为您介绍如何使用Python语言创建一个简易电话簿系统。电话簿系统是一种十分实用的工具,可以帮助人们记录并管理自己的联系人信息。我们将通过多个方面详细阐述Python简易电话簿系统的创建过程,包括基础数据结构、数据操作、用户交互等。

一、基础数据结构

在创建电话簿系统之前,我们需要先了解并定义一些基础的数据结构。在这里,我们可以使用Python中的字典(Dictionary)来存储我们的联系人信息。字典是一种非常方便的数据结构,可以存储key-value键值对,而且具有快速的查找和插入速度。我们可以将电话簿系统中一个联系人的信息定义为一个字典,如下所示:

{
  'name': 'John Smith',
  'phone': '1234567890',
  'email': 'johnsmith@email.com',
  'address': '123 Main St, Anytown, USA'
}

在这个字典中,我们将联系人的姓名、电话、电子邮件和地址分别存储为键值对。接下来,我们需要定义一个列表(List)来存储所有联系人的信息。这里,我们可以将每个联系人的字典作为一个元素存储在列表中,如下所示:

contacts = [
  {
    'name': 'John Smith',
    'phone': '1234567890',
    'email': 'johnsmith@email.com',
    'address': '123 Main St, Anytown, USA'
  },
  {
    'name': 'Jane Doe',
    'phone': '9876543210',
    'email': 'janedoe@email.com',
    'address': '456 Elm St, Anytown, USA'
  }
]

在这个列表中,我们包含了两个联系人的信息。随着我们不断添加和删除联系人,这个列表的长度会不断变化。

二、数据操作

有了基本的数据结构之后,接下来我们需要实现一些基本的数据操作,包括添加、删除、查找和修改联系人信息。我们可以使用Python中的函数来实现这些操作。

1、添加联系人信息

要添加一条联系人信息,我们需要用户输入姓名、电话、电子邮件和地址等信息。然后,我们可以将这些信息添加到contacts列表中,如下所示:

def add_contact(contacts):
  name = input('请输入联系人姓名:')
  phone = input('请输入联系人电话:')
  email = input('请输入联系人电子邮件:')
  address = input('请输入联系人地址:')
  
  contact = {
    'name': name,
    'phone': phone,
    'email': email,
    'address': address
  }
  
  contacts.append(contact)

在这个函数中,我们首先提示用户输入联系人信息,然后将这些信息存储在一个新的字典中。最后,我们使用列表的append()方法将这个字典添加到contacts列表中。

2、删除联系人信息

要删除一条联系人信息,我们需要先查找这个联系人的信息,然后将其从contacts列表中删除。下面是实现这个功能的代码:

def delete_contact(contacts):
  name = input('请输入要删除的联系人姓名:')
  
  for i in range(len(contacts)):
    if contacts[i]['name'] == name:
      del contacts[i]
      print(f'{name}的联系人信息已被删除!')
      return
    
  print(f'{name}的联系人信息不存在!')

在这个函数中,我们首先提示用户输入要删除的联系人姓名,然后遍历整个contacts列表,查找与输入姓名相匹配的联系人信息。如果找到了匹配的联系人信息,我们就使用列表的del语句将其从列表中删除。如果没有找到匹配的信息,则打印出对应的提示信息。

3、查找联系人信息

要查找一条联系人信息,我们需要先提示用户输入要查找的联系人姓名,然后遍历整个contacts列表,查找与输入姓名相匹配的联系人信息。找到对应的信息后,我们打印出所有相关信息。下面是实现这个功能的代码:

def search_contact(contacts):
  name = input('请输入要查找的联系人姓名:')
  
  for contact in contacts:
    if contact['name'] == name:
      print('联系人信息如下:')
      print(f"姓名:{contact['name']}")
      print(f"电话:{contact['phone']}")
      print(f"电子邮件:{contact['email']}")
      print(f"地址:{contact['address']}")
      return
  
  print(f'{name}的联系人信息不存在!')

在这个函数中,我们首先提示用户输入要查找的联系人姓名,然后遍历整个contacts列表,查找与输入姓名相匹配的联系人信息。如果找到了匹配的联系人信息,我们就打印出所有相关信息。如果没有找到匹配的信息,则打印出对应的提示信息。

4、修改联系人信息

要修改一条联系人信息,我们需要先查找这个联系人的信息,然后提示用户输入新的联系人信息。下面是实现这个功能的代码:

def modify_contact(contacts):
  name = input('请输入要修改的联系人姓名:')
  
  for contact in contacts:
    if contact['name'] == name:
      contact['phone'] = input('请输入新的电话号码:')
      contact['email'] = input('请输入新的电子邮件:')
      contact['address'] = input('请输入新的地址:')
      print(f'{name}的联系人信息已被修改!')
      return
  
  print(f'{name}的联系人信息不存在!')

在这个函数中,我们首先提示用户输入要修改的联系人姓名,然后遍历整个contacts列表,查找与输入姓名相匹配的联系人信息。如果找到了匹配的联系人信息,我们就提示用户输入新的联系人信息,并修改对应的键值对。如果没有找到匹配的信息,则打印出对应的提示信息。

三、用户交互

创建好基础数据结构并实现了基本的数据操作之后,接下来我们需要考虑如何实现和用户的交互。具体来说,我们需要实现以下几个功能:显示菜单、执行用户选择的操作、循环执行直到用户选择退出系统。

1、显示菜单

我们首先需要在控制台上显示一个菜单,供用户选择要进行的操作。下面是实现这个功能的代码:

def print_menu():
  print('电话簿系统菜单:')
  print('1. 添加联系人')
  print('2. 删除联系人')
  print('3. 查找联系人')
  print('4. 修改联系人')
  print('5. 退出系统')

在这个函数中,我们使用print()函数打印出菜单中列出的各个选项。

2、执行用户选择的操作

在用户选择菜单中的某个选项之后,我们需要执行对应的操作。下面是实现这个功能的代码:

def main():
  contacts = []
  
  while True:
    print_menu()
    option = input('请输入要执行的操作编号:')
    
    if option == '1':
      add_contact(contacts)
    elif option == '2':
      delete_contact(contacts)
    elif option == '3':
      search_contact(contacts)
    elif option == '4':
      modify_contact(contacts)
    elif option == '5':
      print('感谢使用电话簿系统!')
      break
    else:
      print('请输入正确的操作编号!')

在这个函数中,我们首先定义了一个空的contacts列表,然后使用一个while循环来循环执行以下操作:打印菜单、提示用户输入要执行的操作编号、根据用户输入执行对应的操作、如果用户输入的操作编号为5,则退出循环。

四、完整代码

最后,让我们来看一下完整的代码:

def add_contact(contacts):
  name = input('请输入联系人姓名:')
  phone = input('请输入联系人电话:')
  email = input('请输入联系人电子邮件:')
  address = input('请输入联系人地址:')
  
  contact = {
    'name': name,
    'phone': phone,
    'email': email,
    'address': address
  }
  
  contacts.append(contact)

def delete_contact(contacts):
  name = input('请输入要删除的联系人姓名:')
  
  for i in range(len(contacts)):
    if contacts[i]['name'] == name:
      del contacts[i]
      print(f'{name}的联系人信息已被删除!')
      return
    
  print(f'{name}的联系人信息不存在!')

def search_contact(contacts):
  name = input('请输入要查找的联系人姓名:')
  
  for contact in contacts:
    if contact['name'] == name:
      print('联系人信息如下:')
      print(f"姓名:{contact['name']}")
      print(f"电话:{contact['phone']}")
      print(f"电子邮件:{contact['email']}")
      print(f"地址:{contact['address']}")
      return
  
  print(f'{name}的联系人信息不存在!')

def modify_contact(contacts):
  name = input('请输入要修改的联系人姓名:')
  
  for contact in contacts:
    if contact['name'] == name:
      contact['phone'] = input('请输入新的电话号码:')
      contact['email'] = input('请输入新的电子邮件:')
      contact['address'] = input('请输入新的地址:')
      print(f'{name}的联系人信息已被修改!')
      return
  
  print(f'{name}的联系人信息不存在!')

def print_menu():
  print('电话簿系统菜单:')
  print('1. 添加联系人')
  print('2. 删除联系人')
  print('3. 查找联系人')
  print('4. 修改联系人')
  print('5. 退出系统')

def main():
  contacts = []
  
  while True:
    print_menu()
    option = input('请输入要执行的操作编号:')
    
    if option == '1':
      add_contact(contacts)
    elif option == '2':
      delete_contact(contacts)
    elif option == '3':
      search_contact(contacts)
    elif option == '4':
      modify_contact(contacts)
    elif option == '5':
      print('感谢使用电话簿系统!')
      break
    else:
      print('请输入正确的操作编号!')

if __name__ == "__main__":
  main()

以上就是Python简易电话簿系统的创建过程,希望对初学者有所帮助。您可以在以上代码基础上继续扩展,实现更多的功能,让电话簿系统更加实用!

原创文章,作者:QZFFJ,如若转载,请注明出处:https://www.506064.com/n/373613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
QZFFJQZFFJ
上一篇 2025-04-27 15:26
下一篇 2025-04-27 15:26

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29

发表回复

登录后才能评论