如何使用Python实现学生管理系统?

时间: 2024-03-28 22:32:01 浏览: 16
使用Python实现学生管理系统可以通过以下步骤进行: 1. 设计数据库结构:确定需要存储的学生信息,例如学号、姓名、年龄、性别等,并创建相应的数据库表。 2. 创建连接数据库的函数:使用Python的数据库模块(如MySQLdb、pymysql等)连接数据库,并返回连接对象。 3. 创建学生信息录入函数:通过用户输入学生信息,将信息插入到数据库中的学生表中。 4. 创建学生信息查询函数:根据学号或姓名等条件,从数据库中查询学生信息,并返回查询结果。 5. 创建学生信息修改函数:根据学号或姓名等条件,从数据库中查询学生信息,并提供修改选项,将修改后的信息更新到数据库中。 6. 创建学生信息删除函数:根据学号或姓名等条件,从数据库中删除学生信息。 7. 创建学生信息统计函数:统计数据库中学生的总人数、男女比例等信息。 8. 创建学生管理系统主函数:在主函数中,通过调用以上各个函数,实现学生管理系统的整体功能。 以下是一个简单的示例代码,用于演示如何使用Python实现学生管理系统: ```python import pymysql # 连接数据库 def connect_db(): conn = pymysql.connect(host='localhost', user='root', password='123456', database='student_db') return conn # 学生信息录入 def add_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的学生信息 student_id = input("请输入学号:") name = input("请输入姓名:") age = input("请输入年龄:") gender = input("请输入性别:") # 将学生信息插入数据库 sql = "INSERT INTO student (student_id, name, age, gender) VALUES (%s, %s, %s, %s)" cursor.execute(sql, (student_id, name, age, gender)) conn.commit() print("学生信息录入成功!") cursor.close() conn.close() # 学生信息查询 def search_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的查询条件 condition = input("请输入查询条件(学号或姓名):") # 根据查询条件从数据库中查询学生信息 sql = "SELECT * FROM student WHERE student_id = %s OR name = %s" cursor.execute(sql, (condition, condition)) result = cursor.fetchall() # 打印查询结果 for row in result: print("学号:", row[0]) print("姓名:", row[1]) print("年龄:", row[2]) print("性别:", row[3]) print("--") cursor.close() conn.close() # 学生信息修改 def update_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的修改条件 condition = input("请输入修改条件(学号或姓名):") # 根据修改条件从数据库中查询学生信息 sql = "SELECT * FROM student WHERE student_id = %s OR name = %s" cursor.execute(sql, (condition, condition)) result = cursor.fetchall() # 打印查询结果 for row in result: print("学号:", row[0]) print("姓名:", row[1]) print("年龄:", row[2]) print("性别:", row[3]) print("--") # 获取用户输入的修改信息 student_id = input("请输入学号:") name = input("请输入姓名:") age = input("请输入年龄:") gender = input("请输入性别:") # 将修改后的信息更新到数据库中 sql = "UPDATE student SET student_id = %s, name = %s, age = %s, gender = %s WHERE student_id = %s OR name = %s" cursor.execute(sql, (student_id, name, age, gender, condition, condition)) conn.commit() print("学生信息修改成功!") cursor.close() conn.close() # 学生信息删除 def delete_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的删除条件 condition = input("请输入删除条件(学号或姓名):") # 根据删除条件从数据库中删除学生信息 sql = "DELETE FROM student WHERE student_id = %s OR name = %s" cursor.execute(sql, (condition, condition)) conn.commit() print("学生信息删除成功!") cursor.close() conn.close() # 学生信息统计 def count_student(): conn = connect_db() cursor = conn.cursor() # 统计学生总人数 sql = "SELECT COUNT(*) FROM student" cursor.execute(sql) result = cursor.fetchone() total = result[0] # 统计男女比例 sql = "SELECT COUNT(*) FROM student WHERE gender = '男'" cursor.execute(sql) result = cursor.fetchone() male_count = result[0] sql = "SELECT COUNT(*) FROM student WHERE gender = '女'" cursor.execute(sql) result = cursor.fetchone() female_count = result[0] print("学生总人数:", total) print("男生人数:", male_count) print("女生人数:", female_count) cursor.close() conn.close() # 学生管理系统主函数 def student_management_system(): while True: print("1. 学生信息录入") print("2. 学生信息查询") print("3. 学生信息修改") print("4. 学生信息删除") print("5. 学生信息统计") print("0. 退出系统") choice = input("请输入操作编号:") if choice == '1': add_student() elif choice == '2': search_student() elif choice == '3': update_student() elif choice == '4': delete_student() elif choice == '5': count_student() elif choice == '0': break else: print("输入有误,请重新输入!") # 调用学生管理系统主函数 student_management_system() ```

相关推荐

最新推荐

recommend-type

使用Python实现 学生学籍管理系统

主要介绍了使用Python实现 学生学籍管理系统,代码大致分为五个函数组成,具体内容详情本文给大家介绍的非常详细,需要的朋友可以参考下
recommend-type

python学生信息管理系统实现代码

主要介绍了python学生信息管理系统的实现代码,代码简单,复制即可使用,需要的朋友可以参考下
recommend-type

Python实现GUI学生信息管理系统

主要介绍了Python实现GUI学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

详解用python实现基本的学生管理系统(文件存储版)(python3)

主要介绍了python实现基本的学生管理系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

函数版-简单的学生信息管理系统(python实现)

函数版-简单的学生信息管理系统(python实现)功能如下开始部分增加学生信息修改学生信息删除学生信息查询学生显示所有学生的信息 学了一段时间的python后,自己动手做了一个函数版-简单的学生信息管理系统。 功能...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

前端深拷贝 和浅拷贝有哪些方式,你在哪里使用过

前端深拷贝和浅拷贝的方式有很多,下面列举几种常用的方式: 深拷贝: 1. JSON.parse(JSON.stringify(obj)),该方法可以将对象序列化为字符串,再将字符串反序列化为新的对象,从而实现深拷贝。但是该方法有一些限制,例如无法拷贝函数、RegExp等类型的数据。 2. 递归拷贝,即遍历对象的每个属性并进行拷贝,如果属性值是对象,则递归进行拷贝。 3. 使用第三方库如lodash、jQuery等提供的深拷贝方法。 浅拷贝: 1. Object.assign(target, obj1, obj2, ...),该方法可以将源对象的属性浅拷贝到目标对象中,如果有相同的属性,则会
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。