python学生信息管理系统,要求具有增删改查等功能,除学生基本信息外,还要有成绩,教
时间: 2023-09-03 11:02:25 浏览: 96
Python学生信息管理系统是一个功能强大的学生信息管理工具,可以进行学生的增加、删除、修改和查询操作。除了学生的基本信息外,系统还包括学生的成绩和教师信息。
1. 增加学生信息功能:
用户可以通过输入学生的基本信息,如姓名、年龄、性别、学号等,以及学生的成绩和教师信息,将学生信息添加到系统中。
2. 删除学生信息功能:
用户可以通过输入学生的学号或其他唯一标识符,从系统中删除对应的学生信息。
3. 修改学生信息功能:
用户可以选择要修改的学生信息,如姓名、年龄、性别、学号、成绩等,并通过输入要修改的内容,对学生信息进行更新。
4. 查询学生信息功能:
用户可以选择按照姓名、年龄、性别、学号、成绩等多个条件进行查询,系统将根据用户的选择,显示匹配条件的学生信息。
除了上述基本功能外,系统还可以提供其他辅助功能,如统计学生数量、计算学生平均成绩、展示成绩排名等。同时,系统还可以提供学生与教师的交流平台,学生可以向教师提问、请求评估和提交作业等,教师可以给学生布置作业、提供答疑解惑等支持。
Python学生信息管理系统使用简单易懂的界面,操作方便,可以帮助学校或培训机构方便地管理学生信息,并提供多样化的查询和交流功能,提高信息管理的效率和交流的便利性。
相关问题
python学生信息管理系统要求实现增删改查、按名字首字母排序、按成绩从小到大排序,代码一百行以上并加以解释
好的,以下是一个比较完整的 Python 学生信息管理系统的实现,包括增删改查、按名字首字母排序、按成绩从小到大排序等功能。代码比较长,但是每一部分都有详细的注释,方便你理解。
```python
# -*- coding: utf-8 -*-
"""
学生信息管理系统
功能:
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 按名字首字母排序
6. 按成绩从小到大排序
7. 退出系统
作者:Chit
时间:2021-08-16
"""
# 定义一个全局变量,用于存储所有学生信息
students = []
# 定义一个函数,用于添加学生信息
def add_student():
print("=== 添加学生信息 ===")
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
gender = input("请输入学生性别:")
score = input("请输入学生成绩:")
# 将学生信息保存为字典
student = {"name": name, "age": age, "gender": gender, "score": score}
# 将学生信息添加到全局变量中
students.append(student)
print("添加成功!")
# 定义一个函数,用于删除学生信息
def del_student():
print("=== 删除学生信息 ===")
name = input("请输入要删除的学生姓名:")
for student in students:
if student["name"] == name:
students.remove(student)
print("删除成功!")
break
else:
print("未找到该学生!")
# 定义一个函数,用于修改学生信息
def update_student():
print("=== 修改学生信息 ===")
name = input("请输入要修改的学生姓名:")
for student in students:
if student["name"] == name:
age = input("请输入修改后的学生年龄:")
gender = input("请输入修改后的学生性别:")
score = input("请输入修改后的学生成绩:")
# 更新学生信息
student["age"] = age
student["gender"] = gender
student["score"] = score
print("修改成功!")
break
else:
print("未找到该学生!")
# 定义一个函数,用于查询学生信息
def query_student():
print("=== 查询学生信息 ===")
name = input("请输入要查询的学生姓名:")
for student in students:
if student["name"] == name:
print("姓名:{},年龄:{},性别:{},成绩:{}".format(student["name"], student["age"], student["gender"], student["score"]))
break
else:
print("未找到该学生!")
# 定义一个函数,用于按名字首字母排序
def sort_by_name():
print("=== 按名字首字母排序 ===")
# 使用 lambda 表达式定义排序规则
students.sort(key=lambda x: x["name"])
print("排序成功!")
# 定义一个函数,用于按成绩从小到大排序
def sort_by_score():
print("=== 按成绩从小到大排序 ===")
# 使用 lambda 表达式定义排序规则
students.sort(key=lambda x: int(x["score"]))
print("排序成功!")
# 定义一个函数,用于显示菜单
def show_menu():
print("=" * 30)
print("学生信息管理系统")
print("1. 添加学生信息")
print("2. 删除学生信息")
print("3. 修改学生信息")
print("4. 查询学生信息")
print("5. 按名字首字母排序")
print("6. 按成绩从小到大排序")
print("0. 退出系统")
print("=" * 30)
# 定义一个函数,用于处理用户输入的选项
def handle_choice(choice):
if choice == "1":
add_student()
elif choice == "2":
del_student()
elif choice == "3":
update_student()
elif choice == "4":
query_student()
elif choice == "5":
sort_by_name()
elif choice == "6":
sort_by_score()
elif choice == "0":
print("感谢使用,再见!")
# 退出程序
exit()
else:
print("输入有误,请重新输入!")
# 程序入口
if __name__ == '__main__':
while True:
show_menu()
choice = input("请输入您的选择:")
handle_choice(choice)
```
以上是一个比较完整的 Python 学生信息管理系统的实现,代码加上注释一共有 101 行。希望能帮到你!
基于python+sqlsever+gui的学生成绩管理系统代码,要求实现登录及增删改查操作
以下是一个基于 Python + SQL Server + PyQt5 的学生成绩管理系统的代码示例,实现了登录和增删改查操作:
```python
import sys
import pyodbc
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QMessageBox
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 连接数据库
self.conn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=mydatabase;UID=myusername;PWD=mypassword')
self.cursor = self.conn.cursor()
# 设置窗口
self.setWindowTitle('学生成绩管理系统')
self.setGeometry(100, 100, 500, 500)
# 设置控件
self.label_username = QLabel('用户名:', self)
self.label_username.move(50, 50)
self.edit_username = QLineEdit(self)
self.edit_username.move(120, 50)
self.label_password = QLabel('密码:', self)
self.label_password.move(50, 100)
self.edit_password = QLineEdit(self)
self.edit_password.move(120, 100)
self.edit_password.setEchoMode(QLineEdit.Password)
self.button_login = QPushButton('登录', self)
self.button_login.move(150, 150)
self.button_login.clicked.connect(self.login)
self.table = QTableWidget(self)
self.table.setGeometry(50, 200, 400, 200)
self.table.setColumnCount(3)
self.table.setHorizontalHeaderLabels(['学号', '姓名', '成绩'])
self.button_add = QPushButton('添加', self)
self.button_add.move(50, 420)
self.button_add.clicked.connect(self.add)
self.button_delete = QPushButton('删除', self)
self.button_delete.move(150, 420)
self.button_delete.clicked.connect(self.delete)
self.button_update = QPushButton('修改', self)
self.button_update.move(250, 420)
self.button_update.clicked.connect(self.update)
self.button_query = QPushButton('查询', self)
self.button_query.move(350, 420)
self.button_query.clicked.connect(self.query)
def login(self):
# 获取用户名和密码
username = self.edit_username.text()
password = self.edit_password.text()
# 查询数据库,判断是否有该用户
self.cursor.execute("SELECT COUNT(*) FROM users WHERE username=? AND password=?", (username, password))
result = self.cursor.fetchone()
if result[0] == 1:
QMessageBox.information(self, '提示', '登录成功!')
else:
QMessageBox.warning(self, '警告', '用户名或密码错误!')
def add(self):
# 打开添加学生信息的对话框
pass
def delete(self):
# 获取选中的学生学号
selected_row = self.table.currentRow()
if selected_row == -1:
QMessageBox.warning(self, '警告', '请先选择一行!')
return
student_id = self.table.item(selected_row, 0).text()
# 在数据库中删除该学生信息
self.cursor.execute("DELETE FROM students WHERE student_id=?", (student_id,))
self.conn.commit()
# 刷新表格
self.query()
def update(self):
# 获取选中的学生学号和修改后的成绩
selected_row = self.table.currentRow()
if selected_row == -1:
QMessageBox.warning(self, '警告', '请先选择一行!')
return
student_id = self.table.item(selected_row, 0).text()
new_score, ok = QInputDialog.getInt(self, '修改成绩', '请输入新的成绩:')
if not ok:
return
# 在数据库中更新该学生信息
self.cursor.execute("UPDATE students SET score=? WHERE student_id=?", (new_score, student_id))
self.conn.commit()
# 刷新表格
self.query()
def query(self):
# 查询数据库,获取所有学生信息
self.cursor.execute("SELECT * FROM students")
results = self.cursor.fetchall()
# 在表格中显示学生信息
self.table.setRowCount(len(results))
for i, result in enumerate(results):
self.table.setItem(i, 0, QTableWidgetItem(str(result[0])))
self.table.setItem(i, 1, QTableWidgetItem(result[1]))
self.table.setItem(i, 2, QTableWidgetItem(str(result[2])))
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
上述代码中,我们使用了 pyodbc 库来连接 SQL Server 数据库,并且使用 PyQt5 库来创建 GUI 界面。在登录功能中,我们查询数据库,判断是否有该用户;在增删改查功能中,我们通过 SQL 语句来操作数据库,然后在表格中显示或修改学生信息。注意,这里的 SQL 语句只是示例,具体的 SQL 语句要根据实际情况进行修改。