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语法中的模糊语义

    Python语法中的模糊语义是指在Python中,有些语法结构在使用时存在歧义或不确定性,需要依赖上下文或其他因素来进行推断和解决。下面将从多个角度分别阐述这些模糊语义,并通过两个例子进行说明。 可变对象作为函数默认参数的模糊语义 在Python中,函数中的默认参数在定义时就已经在内存中被创建了,而不是在函数被调用时才创建。如果默认参数是一个可变对象(如列表…

    python 2023年5月13日
    00
  • Python requests.post方法中data与json参数区别详解

    以下是关于Python requests.post方法中data与json参数区别的攻略: Python requests.post方法中data与json参数区别详解 在Python的requests库中,post方法中有两个常用的参数:data和json。这两个参数都可以用来传递POST请求的数据,但是它们的使用方式和传递的数据格式有所不同。以下是Pyt…

    python 2023年5月14日
    00
  • python列表删除和多重循环退出原理详解

    Python列表删除和多重循环退出原理详解 列表删除 Python中的列表是一种可变的有序集合,可以随意添加、删除和修改元素。下面将详细讲解如何删除中的元素。 使用del语句删除元素 Python中可以使用del语句删除列表中的元素。del语句的语法如下: del lst[index] 其中,lst是要删除元素的列表,index是要删除元素的索引。下面是一个…

    python 2023年5月13日
    00
  • 如何进行Python代码的调试?

    调试是程序开发中最基本的操作之一,也是非常重要的一环。Python作为一种高级编程语言,具备强大的调试功能,可以帮助我们快速地定位bug并修复它们。代码调试可以使用Python内置的pdb调试器或者第三方工具,如PyCharm和VS Code。 下面是一个详细的调试攻略,以及两个示例说明。 调试步骤 确认需要调试的代码文件。 导入pdb模块,并设置断点。 执…

    python 2023年4月19日
    00
  • 如何用Python计算克莱默V

    下面是Python计算克莱默V的详细攻略: 简介 克莱默(Cramer)是用行列式求解线性方程组的一种方法。对于n元线性方程组,用克莱默法则求解需要求解n个行列式,当n较小时,克莱默法则具有精度较高、理解和编程较容易等优点。 本文介绍如何用Python计算克莱默V。 步骤 安装NumPy NumPy是Python中专门用于数学计算的第三方库,提供了大量的数学…

    python-answer 2023年3月25日
    00
  • python使用beautifulsoup从爱奇艺网抓取视频播放

    Python使用BeautifulSoup从爱奇艺网抓取视频播放 在本文中,我们将介绍如何使用Python和BeautifulSoup库从爱奇艺网抓取视频播放。我们将提供两个示例,演示如何获取视频标题和视频播放链接。 安装BeautifulSoup库 在使用BeautifulSoup库之前,我们需要先安装它。可以使用pip命令来安装BeautifulSoup…

    python 2023年5月15日
    00
  • 如何用Python生成二维码、解析二维码

    生成二维码和解析二维码是Python中常见的任务之一。在本攻略中,我们将介绍如何使用Python生成二维码和解析二维码。我们将使用qrcode和opencv-python库来实现这些功能。 生成二维码 在Python中,我们可以使用qrcode库来生成二维码。以下是一个示例代码: import qrcode # 生成二维码 img = qrcode.make…

    python 2023年5月15日
    00
  • Python 实现try重新执行

    实现 try 重新执行可以通过使用 Python 的异常处理机制来实现。在处理异常时,使用循环语句来实现 try 重新执行的功能,即如果 try 语句块中的代码抛出异常,则重新执行 try 语句块。以下是实现 try 重新执行的完整攻略: 1.编写需要尝试重新执行的代码块。在代码块之前,使用 try 语句块来尝试执行代码块。如果代码块中的代码抛出异常,则执行…

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