python实现简单通讯录管理系统

Python实现简单通讯录管理系统——完整攻略

前言

为了方便大家开发数据应用,本文以Python实现一个简单的通讯录管理系统为例,来讲解如何开发一个基本的数据管理系统。同时,为了更好的展示具体操作,本文使用 pandas 库和 SQLite 数据库来实现具体功能。读者可以根据自己的需求使用其他工具或库来实现同样的功能。

步骤一:准备开发环境

在开始开发大型应用之前,需要安装约定好的程序和工具,以下是本次开发需要的准备工作:

  1. 安装Python3.x
  2. 安装pandas库
  3. 安装SQLite数据库

在确认已安装这些必需的工具之后,我们可以开始开发了。

步骤二:定义数据表

在此示例中,我们将使用SQLite数据库存储我们的应用数据。首先,我们需要定义存储数据的表。在这个简单的通讯录管理系统中,我们需要的功能如下:

  1. 添加联系人
  2. 查询联系人
  3. 删除联系人

而联系人需要记录的信息如下:

  1. 联系人姓名
  2. 联系人电话
  3. 联系人邮箱

因此,我们可以创建一个名为 contacts 的表来存储这些信息。以下是创建 contacts 表的SQL命令:

CREATE TABLE contacts (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    phone TEXT NOT NULL,
    email TEXT NOT NULL
);

其中,id 为主键,使用 INTEGER 类型存储;namephoneemail 字段使用 TEXT 类型存储。

步骤三:编写Python代码

上面的SQL代码可以在SQLite管理工具中执行,但是我们的目标是在Python代码中实现数据的存储和查询。因此,我们需要了解如何在Python中使用SQLite数据库。

创建数据库连接

import sqlite3

# 创建sqlite数据库连接
conn = sqlite3.connect('contacts.db')

插入数据

# 插入数据
def insert_contact(name, phone, email):
    c = conn.cursor()
    c.execute("INSERT INTO contacts (name, phone, email) VALUES (?, ?, ?)",
              (name, phone, email))
    conn.commit()

查询数据

# 查询数据
def query_contact(name):
    c = conn.cursor()
    c.execute("SELECT * FROM contacts WHERE name=?", (name,))
    result = c.fetchone()
    if result:
        return result
    else:
        return None

删除数据

# 删除数据
def delete_contact(name):
    c = conn.cursor()
    c.execute("DELETE FROM contacts WHERE name=?", (name,))
    conn.commit()

步骤四:编写应用程序

通过上述代码,我们可以向数据库中添加、查询和删除联系人。但是没有一个具体用户界面来运行这些代码。因此,我们需要编写应用程序来调用这些代码并显示结果。

有许多不同的方式来实现这个应用程序,本文使用基于终端的Python程序作为界面。以下是程序的主要部分:

while True:
    print("""
    欢迎使用简单通讯录管理系统
    ============================
      1. 添加联系人
      2. 查询联系人
      3. 删除联系人
      4. 退出

    """)
    choice = input("请输入你的选择:")

    if choice == "1":
        name = input("请输入联系人姓名:")
        phone = input("请输入联系人电话:")
        email = input("请输入联系人电子邮件:")
        insert_contact(name, phone, email)
        print("联系人已添加。")

    elif choice == "2":
        name = input("请输入联系人姓名:")
        result = query_contact(name)
        if result:
            print("姓名:%s,电话:%s,电子邮件:%s" % (result[1], result[2], result[3]))
        else:
            print("联系人不存在。")

    elif choice == "3":
        name = input("请输入联系人姓名:")
        delete_contact(name)
        print("联系人已删除。")

    elif choice == "4":
        print("感谢您使用本系统。")
        break

    else:
        print("无效选项。请重试。")

该程序包含一个循环,以便用户可以持续输入命令来调用相应的函数。

以下是使用本应用程序来添加、查询和删除联系人的示例:

示例1:添加联系人

欢迎使用简单通讯录管理系统
============================
  1. 添加联系人
  2. 查询联系人
  3. 删除联系人
  4. 退出

请输入你的选择:1
请输入联系人姓名:Jack
请输入联系人电话:123456789
请输入联系人电子邮件:jack@example.com
联系人已添加。

示例2:查询联系人

欢迎使用简单通讯录管理系统
============================
  1. 添加联系人
  2. 查询联系人
  3. 删除联系人
  4. 退出

请输入你的选择:2
请输入联系人姓名:Jack
姓名:Jack,电话:123456789,电子邮件:jack@example.com

示例3:删除联系人

欢迎使用简单通讯录管理系统
============================
  1. 添加联系人
  2. 查询联系人
  3. 删除联系人
  4. 退出

请输入你的选择:3
请输入联系人姓名:Jack
联系人已删除。

结论

在本文中,我们使用Python、pandas和SQLite数据库来实现了一个简单的通讯录管理系统,并通过一个终端程序提供了一个简单的界面来演示如何添加、查询和删除联系人信息。当然,我们的示例可以扩展,以包括更多的数据管理功能。当你准备在你的应用程序中添加数据管理功能时,这些代码将是非常有用的借鉴。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现简单通讯录管理系统 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • python 公共方法汇总解析

    在Python中,有许多内置的公共方法可以用于各种任务。在本攻略中,我们将介绍一些常用的Python公共方法,并提供示例代码来演示如何使用它们。 1. range() range()方法用于生成一个整数序列。以下是一个示例代码: # 生成一个整数序列 for i in range(5): print(i) 在上面的代码中,我们使用range()方法生成一个整…

    python 2023年5月15日
    00
  • 如何进行Python中的字符串操作?

    下面是Python中字符串操作的完整攻略: 字符串的定义 Python中字符串是由一系列字符组成的,可以使用单引号、双引号或三引号来定义。其中,单引号和双引号的作用是完全相同的。而三引号被用来表示多行字符串或docstring(文档字符串,用于函数或模块的文档注释)。 示例: s1 = ‘Hello, World!’ s2 = "Python is…

    python 2023年4月19日
    00
  • python爬取晋江文学城小说评论(情绪分析)

    下面我将详细讲解如何用Python爬取晋江文学城小说评论并进行情绪分析,以下是完整实例教程。 1. 准备工作 首先需要安装Python的一些常用库,包括requests,pandas,jieba和snownlp。可以通过以下命令进行安装: pip install requests pandas jieba snownlp 2. 获取评论数据 我们首先需要通过…

    python 2023年5月13日
    00
  • Python中类的初始化特殊方法

    下面是关于Python中类的初始化特殊方法的详细讲解。 什么是类的初始化特殊方法? 在Python中,类(Class)是描述对象(Object)的一种方式,而对象则是类的实例化。当一个类被实例化成对象时,会涉及到一些与对象相关的操作,例如给对象指定属性默认值、进行对象的序列化和反序列化等。类的初始化特殊方法就是在对象被实例化的时候调用的一些特殊方法,用于完成…

    python 2023年5月19日
    00
  • Django中的forms组件实例详解

    Django中的forms组件实例详解 在Django中,forms组件是用于处理表单数据的工具。本文将详细讲解Django中的forms组件,包括forms组件的概念、forms组件的使用方法、forms组件的验证等内容。 forms组件的概念 在Django中,forms组件是用于处理表单数据的工具。它可以帮助我们创建表单、验证表单数据、处理表单数据等操…

    python 2023年5月15日
    00
  • Python决策树分类算法学习

    Python决策树分类算法学习 决策树是一种常用的分类算法,它可以将数据集划分为多个类别。在本攻略中,我们将介绍如何使用Python实现决策树分类算法。 步骤1:导入相关库 在使用Python实现决策树分类算法之前,我们需要导入相关的库。在本攻略中,我们将使用NumPy库和Matplotlib库处理数据和可视化结果,使用sklearn库中DecisionTr…

    python 2023年5月14日
    00
  • pandas预处理部分地区数据案例

    pandas预处理部分地区数据案例的完整攻略 pandas是Python中一个非常强大的数据处理库,它可以帮助我们对数据进行清洗、转换、分析等操作。在本文中,我们将介绍如何pandas对部分地区的数据进行预处理,包括数据清洗、数据转换、数据分析等操作。 第一步:导入数据 首先,我们需要导入数据。在本文中,我们将使用一个包含部分地区数据的CSV文件。我们可以使…

    python 2023年5月14日
    00
  • python版本的读写锁操作方法

    读写锁(RWLock)是一种特殊的锁定机制,它允许多个读操作并发地发生,但只学允许一个写操作发生。在python中,我们可以使用模块threading来实现读写锁的操作。具体的方法如下: 引入模块 使用读写锁需要引入threading模块,可以通过以下语句引入: import threading 创建锁 在python中使用读写锁需要创建一个锁对象,可以通过…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部