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

yizhihongxing

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整数类型(int)详解

    Python中的整数类型 在数学中,整数就是正整数、零、负整数的集合。在Python中,对于整数的定义也与此相同。 强类型编程语言的整数,一般会限定整数长度,以分配不同的存储空间。因此整数类型的声明关键字会有:short、int、long、long long等,它们的长度依次递增,开发者需要根据实际数字的大小选用不同的类型。 而Python则不同,它只有一种…

    2022年11月20日
    00
  • Python三目运算符(三元运算符)用法详解(含实例代码)

    Python三目运算符(三元运算符) Python三目运算符也被称为三元运算符,是一种简洁的条件表达式,用于在满足条件时返回两个不同的值之一。它的语法结构如下: a if condition else b 其中condition是一个条件表达式,如果其结果为True,则返回a,否则返回b。 三目运算符在Python中可以大大缩短常见的if-else语句的代码…

    python 2023年5月14日
    00
  • python如何读写json数据

    当使用Python处理JSON数据时,我们通常会涉及到读取JSON数据和将Python数据转为JSON格式的两种情况。下面是Python读写json数据的详细攻略: 1. 读取JSON数据 首先,打开JSON文件并读取其内容是非常简单的。可以使用Python内置的json模块来完成此操作。下面是一个简单的示例代码,说明如何读取已有JSON数据: import…

    python 2023年5月13日
    00
  • python算法练习之抓交通肇事犯

    下面是“Python算法练习之抓交通肇事犯”的完整攻略,包含两个示例说明。 题目描述 假设有一辆车在某个时间段内在某个区域内行驶,现需要根据车辆的行驶迹和时间,找出是否有交通肇事犯罪嫌疑人。具体要求如下: 如果车辆在某个时间段内在个区域内行驶,并且在该区域内发生了交通事故,则认为该车辆有嫌疑。 如果车辆某个段内在某个区域内行驶,并且在该区域内停车时间超过一定…

    python 2023年5月14日
    00
  • python 多维切片之冒号和三个点的用法介绍

    下面是对“Python多维切片之冒号和三个点的用法介绍”的完整攻略。 Python多维切片之冒号和三个点的用法介绍 在Python中,我们经常会用到切片(slice)操作,它可以用来截取字符串、列表、元组等数据类型的一部分。除了常规的单维切片之外,Python还支持多维切片,其中包括使用冒号(:)和三个点(…)的切片操作。 冒号的使用 使用冒号时,切片操…

    python 2023年6月5日
    00
  • 您可以从 Windows 符号链接导入 Python 模块吗?

    【问题标题】:Can you import a Python module from a Windows symbolic link?您可以从 Windows 符号链接导入 Python 模块吗? 【发布时间】:2023-04-03 02:44:02 【问题描述】: 我正在使用 Windows 7 计算机为 Python 3 项目做出贡献。 为了在进行和测试…

    Python开发 2023年4月8日
    00
  • python定时执行指定函数的方法

    如果需要在Python中实现定时执行指定函数的功能,可以使用Python的定时任务库,最常见和常用的定时任务库是APScheduler(Advanced Python Scheduler)。APScheduler并不是Python的内置模块,需要进行安装。 下面是一个基本使用APScheduler的示例: 安装APScheduler:打开终端,输入以下命令安…

    python 2023年6月5日
    00
  • Python CSS选择器爬取京东网商品信息过程解析

    在Python中,可以使用BeautifulSoup库和CSS选择器来爬取京东网商品信息。以下是PythonCSS选择器爬取京东网商品信息的详细攻略: 获取页面内容 要获取页面内容,可以使用requests模块。以下是获取页面内容的示例: import requests url = ‘https://search.jd.com/Search?keyword=…

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