Python实现学生成绩管理系统

一、Python实现学生成绩管理系统

  1. 实现思路:

学生成绩管理系统是一种简单的数据库管理系统,要实现其主要分为以下几步:

  • 创建数据库及表格。
  • 实现添加学生信息功能。
  • 实现添加学生成绩功能。
  • 实现查询学生信息及成绩功能。
  • 实现删除学生信息功能。
  • 实现修改学生成绩功能。

  • 创建数据库及表格

使用Python内置模块sqlite3创建一个数据库,该数据库包含学生信息表(student_info)和学生成绩表(student_score),表格中包含各自所需的字段。

import sqlite3

def create_table():
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute('''CREATE TABLE student_info
               (ID INT PRIMARY KEY     NOT NULL,
               NAME           TEXT    NOT NULL,
               GENDER         TEXT     NOT NULL,
               CLASS          CHAR(50),
               PHONE         CHAR(50));''')

    c.execute('''CREATE TABLE student_score
               (ID INT PRIMARY KEY     NOT NULL,
               CHINESE        INT    NOT NULL,
               MATH           INT     NOT NULL,
               ENGLISH         INT   NOT NULL);''')

    conn.commit()
    conn.close()
  1. 实现添加学生信息功能

在student_info表中添加学生基本信息,其中包括ID、姓名、性别、班级、联系方式等字段,对于ID字段可设为自增主键,可以避免主键重复的问题。

def add_student_info(ID,name,gender,class_name,phone):
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute('''INSERT INTO student_info (ID,NAME,GENDER,CLASS,PHONE) 
                VALUES (?,?,?,?,?)''',(ID,name,gender,class_name,phone))
    conn.commit()
    conn.close()
  1. 实现添加学生成绩功能

在student_score表中添加学生成绩信息,其中包括ID、语文成绩、数学成绩、英语成绩等字段。

def add_student_score(ID,chinese,math,english):
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute('''INSERT INTO student_score (ID,CHINESE,MATH,ENGLISH) 
                VALUES (?,?,?,?)''',(ID,chinese,math,english))
    conn.commit()
    conn.close()
  1. 实现查询学生信息及成绩功能

通过ID字段在student_info表和student_score表中查询得到学生信息和成绩。

def search_info(ID):
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute("SELECT * FROM student_info WHERE ID = ?",(ID,))
    result=c.fetchall()
    return result

def search_score(ID):
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute("SELECT * FROM student_score WHERE ID = ?",(ID,))
    result=c.fetchall()
    return result
  1. 实现删除学生信息功能

通过ID字段在student_info表和student_score表中删除相应的学生信息和成绩。

def delete_info(ID):
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute("DELETE FROM student_info WHERE ID = ?",(ID,))
    conn.commit()
    conn.close()

def delete_score(ID):
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute("DELETE FROM student_score WHERE ID = ?",(ID,))
    conn.commit()
    conn.close()
  1. 实现修改学生成绩功能

通过ID字段在student_score表中修改相应的学生成绩。

def update_score(ID,chinese,math,english):
    conn=sqlite3.connect('student.db')
    c=conn.cursor()
    c.execute("UPDATE student_score SET CHINESE = ?, MATH = ?, ENGLISH = ? WHERE ID = ?",(chinese,math,english,ID))
    conn.commit()
    conn.close()

二、示例说明

示例1:添加学生信息和成绩

create_table() # 创建数据库及表格
add_student_info(1,'张三','男','一班','13812345678') # 添加学生信息
add_student_score(1,80,90,85) # 添加学生成绩

示例2:查询学生信息和成绩

result1=search_info(1) # 查询学生信息
result2=search_score(1) # 查询学生成绩
print(result1,result2)

以上示例均为基本操作,具体可以根据需求灵活运用。

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

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

相关文章

  • 使用Python中的NumPy对Hermite数列进行积分,并在积分常数加入前将结果乘以一个标量

    首先,我们需要了解什么是Hermite数列。Hermite数列是一个特殊的数列,与物理学中的量子力学运动方程、量子谐振子等问题有关。在数学上,它是以赫尔米特(Hermite)的名字命名的。数列的通项公式为: $$H_n(x)=(-1)^ne^{x^2}\frac{d^n}{dx^n} e^{-x^2}$$ 其中, $n$ 为非负整数, $x$ 为实数。接下来…

    python-answer 2023年3月25日
    00
  • 详解Python中文件路径

    以下是详解Python中文件路径的完整攻略。 文件路径简介 在Python中,文件路径用于指定操作系统中的文件的位置。在不同的操作系统中,文件路径的表示方式有所不同: Windows操作系统使用反斜杠(\)作为路径分隔符; Unix/Linux操作系统和macOS使用正斜杠(/)作为路径分隔符。 为了避免在不同操作系统中出现问题,Python提供了os模块的…

    python 2023年6月2日
    00
  • 一行代码python实现文件共享服务器

    让我来详细解释一下“一行代码python实现文件共享服务器”的完整攻略。 简介 在讲解具体实现方法之前,我们先来了解一下所使用的库和工具。 Python标准库 http.server:Python内置的HTTP服务器模块。 twisted :Python异步网络框架,用于网络编程。 这两个库都可以用于实现文件共享服务器,但在本文中我们主要关注 http.se…

    python 2023年6月5日
    00
  • python 多进程和协程配合使用写入数据

    为了更好地理解多进程和协程配合使用写入数据的完整攻略,我们需要先详细了解一下多进程和协程的概念以及特点。 多进程是指同一时间内,运行着多个进程在同一台计算机上。每个进程通过操作系统分配独立的内存空间,互相之间不会干扰。多进程可以利用现代计算机的多核处理器,可以同时执行多个任务,提高CPU利用率和运行效率。 协程是轻量级的线程,它可以在同一个线程中实现多个并发…

    python 2023年5月19日
    00
  • pandas DataFrame数据转为list的方法

    Pandas DataFrame数据转为List的方法 在Python中,Pandas是一个常用的数据处理库,它提供了DataFrame数据结构来处理和分析数据。有时候我们需要将DataFrame数据转换为List类型,以便于进行其他操作。攻略将介绍Pandas DataFrame数据转List的方法,包括使用属性和to_numpy()方法。 使用value…

    python 2023年5月13日
    00
  • Python导出数据到Excel可读取的CSV文件的方法

    想要将Python中的数据导出为Excel可读取的CSV文件,可以按照以下步骤进行操作: 1. 安装 pandas 库 pandas是Python中非常常用的数据操作库,可以方便地将数据转换为CSV格式,所以需要先安装pandas库,在命令行输入: pip install pandas 2. 导入 pandas 库 使用pandas库的方法是先将其引入到Py…

    python 2023年5月13日
    00
  • Python xlrd模块导入过程及常用操作

    当我开始学习使用Pythonxlrd模块时,首先需要导入这个模块,可以像下面这样在Python命令行界面中进行导入: import xlrd 从这里开始,就可以开始使用xlrd模块了。下面将会详细讲解这个模块的常用操作。 读取Excel文件 用xlrd模块中的open_workbook()函数可以打开一个Excel文件: import xlrd # 打开Ex…

    python 2023年5月13日
    00
  • Python实现自动批量修改文件名称

    Python实现自动批量修改文件名称攻略 Python可以轻松实现自动批量修改文件名称。如果你有大量的文件需要重命名,手动一个一个修改比较费时间,可以使用Python的os模块进行批处理,完成自动化重命名。 步骤 以下是实现批量文件重命名的基本步骤: 导入os模块,获取文件路径和文件名; 构建新文件名; 在循环中将旧文件名修改为新文件名。 示例 下面两个示例…

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