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

yizhihongxing

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 制作一个gui界面的翻译工具

    制作一个GUI界面的翻译工具可以分为以下几个步骤: 1. 确定需求 首先,你需要明确你的翻译工具的需求,例如它能够翻译哪些语言,是否需要支持多种翻译引擎等。 2. 选择GUI库 Python中有许多GUI库可供选择,例如Tkinter、PyQt、wxPython等。选择其中一个符合需求的GUI库,如果不确定可以上网查阅相关资料或者进行对比试用。 3. 集成翻…

    python 2023年6月5日
    00
  • 带有 seaborn 或 pyplot 的 Python 子图

    【问题标题】:Python subplots with seaborn or pyplot带有 seaborn 或 pyplot 的 Python 子图 【发布时间】:2023-04-04 18:40:01 【问题描述】: 我是一名学习 python 的 R 程序员,发现在 python 中绘图比 R 困难得多。 我正在尝试编写以下函数,但没有成功。有人可以…

    Python开发 2023年4月6日
    00
  • Python中使用asyncio 封装文件读写

    下面我将详细讲解“Python 中使用 asyncio 封装文件读写”的完整攻略。该攻略主要包括以下步骤: 导入相关模块和库 使用 Asyncio 封装文件读写函数 示例演示 1. 导入相关模块和库 使用 Asyncio 进行文件读写,需要导入以下模块: import asyncio import aiofiles 其中,asyncio 为 Python 内…

    python 2023年6月5日
    00
  • 如何使用Python逆向抓取APP数据

    使用Python逆向抓取APP数据,可以帮助我们获取应用程序的网络接口,获取接口数据,以及了解应用程序的网络请求逆向分析方法。下面我们将详细讲解如何使用Python逆向抓取APP数据。 1. 分析应用程序的网络接口 为了分析应用程序的网络接口,我们需要进行以下步骤: 使用抓包工具对应用程序进行网络抓包,分析应用程序的网络请求和响应。 根据抓包分析,了解应用程…

    python 2023年5月14日
    00
  • 使用Python判断IP地址合法性的方法实例

    标题:使用Python判断IP地址合法性的方法实例 介绍 在开发网络应用时,我们通常需要判断用户输入的IP地址是否合法,这其中就需要用到Python计算机语言。本篇文章将详细讲解使用Python判断IP地址合法性的方法,并提供两个实例供大家参考。 IP地址的格式 IP地址是一个由32位二进制数组成的四位数组,每个数用小数点隔开。例如:192.168.0.1。…

    python 2023年6月3日
    00
  • 基于OpenCV和Gradio实现简单的人脸识别详解

    首先让我们来详细讲解“基于OpenCV和Gradio实现简单的人脸识别详解”的完整攻略。 简介 本攻略将介绍如何使用OpenCV和Gradio实现简单的人脸识别。通过本攻略,您可以学习到以下知识点: 如何使用OpenCV读取图像文件并识别人脸 如何使用Gradio搭建简单的Web应用来进行人脸识别 环境准备 在开始之前,您需要先安装以下软件: Python3…

    python 2023年5月19日
    00
  • Python报错:PermissionError: [Errno 13] Permission denied的解决办法

    当在Python中尝试读取或写入文件时,可能会遇到PermissionError: [Errno 13] Permission denied的错误。这个错误通常是由于Python无法访问指定的文件或目录导致的。以下是一个示例: with open(‘file.txt’, ‘w’) as f: f.write(‘Hello, world!’) 在代码中,我们尝…

    python 2023年5月13日
    00
  • python捕捉异常

    【问题标题】:python catching exceptionpython捕捉异常 【发布时间】:2023-04-04 01:01:01 【问题描述】: 我正在运行 curl 命令来检查网站的状态: try: connectionTest = subprocess.Popen([r”curl –interface xx.xx.xx.xx http://w…

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部