python实现学生通讯录管理系统

Python实现学生通讯录管理系统

本文将介绍如何使用Python语言实现学生通讯录管理系统。这个系统可以实现添加、删除、修改和查询学生信息等功能。

数据库

我们首先需要一个数据库来存储学生信息。我们可以选择使用sqlite3来创建一个本地的数据库。

import sqlite3

# 连接到本地数据库
conn = sqlite3.connect('student.db')
# 获取游标
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE students
             (id integer primary key autoincrement, 
             name text, 
             age integer, 
             gender text, 
             phone text, 
             email text)''')
# 关闭游标和连接
c.close()
conn.close()

添加学生信息

添加学生信息需要用户输入学生的姓名、年龄、性别、电话和邮箱等信息。我们可以使用Python中的input()函数来获取用户输入。

def add_student():
    name = input("请输入学生姓名:")
    age = input("请输入学生年龄:")
    gender = input("请输入学生性别:")
    phone = input("请输入学生电话号码:")
    email = input("请输入学生邮箱:")

    # 连接数据库
    conn = sqlite3.connect('student.db')
    # 获取游标
    c = conn.cursor()
    # 插入数据
    c.execute("INSERT INTO students (name, age, gender, phone, email) VALUES ('%s', %d, '%s', '%s', '%s')"
              % (name, age, gender, phone, email))
    # 提交数据并关闭游标和连接
    conn.commit()
    c.close()
    conn.close()

    print("学生信息添加成功!")

删除学生信息

删除学生信息需要用户输入学生的姓名。我们可以使用Python中的input()函数来获取用户输入。

def delete_student():
    name = input("请输入要删除的学生姓名:")

    # 连接数据库
    conn = sqlite3.connect('student.db')
    # 获取游标
    c = conn.cursor()
    # 删除数据
    c.execute("DELETE FROM students WHERE name='%s'" % name)
    # 提交数据并关闭游标和连接
    conn.commit()
    c.close()
    conn.close()

    print("学生信息删除成功!")

修改学生信息

修改学生信息需要用户输入学生的姓名和修改后的信息。我们可以先查询到要修改的学生信息,然后再进行修改。

def update_student():
    name = input("请输入要修改的学生姓名:")

    # 连接数据库
    conn = sqlite3.connect('student.db')
    # 获取游标
    c = conn.cursor()
    # 查询数据
    c.execute("SELECT * FROM students WHERE name='%s'" % name)
    result = c.fetchone()

    if result is None:
        print("没有找到该学生信息!")
    else:
        # 获取修改后的信息
        age = input("请输入学生年龄:")
        gender = input("请输入学生性别:")
        phone = input("请输入学生电话号码:")
        email = input("请输入学生邮箱:")
        # 更新数据
        c.execute("UPDATE students SET age=%d, gender='%s', phone='%s', email='%s' WHERE name='%s'"
                  % (age, gender, phone, email, name))
        # 提交数据并关闭游标和连接
        conn.commit()
        c.close()
        conn.close()

        print("学生信息修改成功!")

查询学生信息

查询学生信息可以根据学生姓名、年龄、性别等条件进行查询。我们可以使用Python中的input()函数来获取用户输入。

def query_student():
    print("请选择要查询的条件:")
    print("1. 姓名")
    print("2. 年龄")
    print("3. 性别")
    option = input("请选择:")

    # 连接数据库
    conn = sqlite3.connect('student.db')
    # 获取游标
    c = conn.cursor()
    # 查询数据
    if option == '1':
        name = input("请输入学生姓名:")
        c.execute("SELECT * FROM students WHERE name='%s'" % name)
    elif option == '2':
        age = input("请输入学生年龄:")
        c.execute("SELECT * FROM students WHERE age=%d" % int(age))
    elif option == '3':
        gender = input("请输入学生性别:")
        c.execute("SELECT * FROM students WHERE gender='%s'" % gender)
    else:
        print("输入有误,请重新选择!")
        return

    result = c.fetchall()
    # 输出数据
    if len(result) == 0:
        print("没有找到符合条件的学生信息!")
    else:
        for row in result:
            print("id:%d 姓名:%s 年龄:%d 性别:%s 电话:%s 邮箱:%s"
                  % (row[0], row[1], row[2], row[3], row[4], row[5]))

    # 关闭游标和连接
    c.close()
    conn.close()

示例

下面是一个完整的示例,展示了如何添加、删除、修改和查询学生信息。

def main():
    while True:
        print("----学生通讯录管理系统----")
        print("1. 添加学生信息")
        print("2. 删除学生信息")
        print("3. 修改学生信息")
        print("4. 查询学生信息")
        print("0. 退出系统")
        option = input("请选择:")

        if option == '1':
            add_student()
        elif option == '2':
            delete_student()
        elif option == '3':
            update_student()
        elif option == '4':
            query_student()
        elif option == '0':
            break
        else:
            print("输入有误,请重新选择!")

运行上述代码后,用户可以通过命令行界面来操作学生通讯录管理系统,例如:

----学生通讯录管理系统----
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
0. 退出系统
请选择:1
请输入学生姓名:张三
请输入学生年龄:20
请输入学生性别:男
请输入学生电话号码:13911112222
请输入学生邮箱:zhangsan@example.com
学生信息添加成功!
----学生通讯录管理系统----
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
0. 退出系统
请选择:4
请选择要查询的条件:
1. 姓名
2. 年龄
3. 性别
请选择:2
请输入学生年龄:20
id:1 姓名:张三 年龄:20 性别:男 电话:13911112222 邮箱:zhangsan@example.com
----学生通讯录管理系统----
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
0. 退出系统
请选择:2
请输入要删除的学生姓名:张三
学生信息删除成功!

通过上述示例,我们可以看到学生通讯录管理系统的基本使用方法,用户可以根据自己的需求进行合理的操作。

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

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

相关文章

  • Python全栈之正则表达式

    Python全栈之正则表达式 正则表达式是一种强大的文本处理工具,可以用于各种文本处理,如数据清洗、文本分、信息提取等。在Python中,我们使用模块提供的函数来操作正则表达式。本攻略将详细讲解Python全栈之正则表达式,包括正则表达式的基本语法、元字符、常用函数等内容。 正则表达式的基本语法 正则表达式是由普通和元字符组成的字符串。普通字符表示它本身,元…

    python 2023年5月14日
    00
  • 使用python BeautifulSoup库抓取58手机维修信息

    使用Python Beautiful Soup库抓取58手机维修信息 本文将介绍如何使用Python Beautiful Soup库抓取58手机维修信息。我们将提供两个示例,演示如何获取手机维修店铺信息和维修服务信息。 获取网页内容 以下是一个示例代码,演示如何使用Python获取58手机维修网站的网页内容: import requests url = ‘h…

    python 2023年5月15日
    00
  • Python标准库中的sys你了解吗

    当我们学习Python编程语言时,常常需要使用到标准库中的 sys 模块。sys 模块是Python编程语言的一个标准库,提供了与Python解释器交互相关的函数和变量。 sys模块的常用功能 下面是 sys 模块的一些常见功能和函数: sys.argv: 保存了命令行参数的列表。它至少包含一个元素,即运行Python程序的文件名。 如果还有其他的参数,它们…

    python 2023年5月30日
    00
  • 在 python 中使用 networkx 包的 K-最短路径

    【问题标题】:K-shortest paths using networkx package in python在 python 中使用 networkx 包的 K-最短路径 【发布时间】:2023-04-06 07:18:01 【问题描述】: 我使用 osmnx 包创建了荷兰高速公路的多向图。 该图是从 osmnx 返回的多向图。由于我有兴趣计算起点和终点…

    Python开发 2023年4月6日
    00
  • Django微信小程序后台开发教程的实现

    Django微信小程序后台开发可以分为以下几个步骤: 1. 确定需求 在进行开发前,需要明确微信小程序后台的需求,包括用户登录、数据存储、接口开发等。 2. 搭建环境 在进行开发前,需要搭建Django和相关依赖的开发环境。具体的搭建过程可以参考Django官方文档 3. 创建Django项目 在搭建好开发环境后,需要创建一个Django项目。具体的创建过程…

    python 2023年5月23日
    00
  • 详解Python_shutil模块

    当需要在Python中进行文件和文件夹的操作时,shutil模块提供了一些方便的函数。以下是使用shutil模块的一些示例和功能: 复制文件和文件夹 使用”copy”函数,可以轻松复制单个文件: import shutil shutil.copy(‘/path/to/file’, ‘/path/to/destination’) 它还可以复制整个文件夹: im…

    python 2023年6月3日
    00
  • Python I/O与进程的详细讲解

    Python I/O 与进程的详细讲解 在Python中,I/O和进程是非常重要的概念。本篇攻略将对Python中的I/O和进程进行详细讲解,帮助你加深对这些概念的理解。 I/O 在Python中,I/O操作是一种与输入和输出设备之间进行数据交互的操作。常见的I/O操作包括读取文件、网络通信等。Python提供了一些内置函数来进行I/O操作。 打开文件 在P…

    python 2023年6月2日
    00
  • python数字类型math库原理解析

    Python数字类型math库原理解析 Python内置的math模块提供了一些数字运算函数,包括常用的三角函数、指数、对数等。在本文中,我们将介绍这个模块的原理和API,以帮助你更好地理解数字计算和处理。 math库概述 math模块包含了许多用于数字运算的函数,主要包括以下几个方面: 常数:包括pi、e等数值 三角函数:sin、cos、tan、asin、…

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