python实现一个简单的学生成绩管理系统,该系统具有以下5个功能:1、注册登录。2、录入成绩3、查询成绩4、修改成绩5、删除成绩:
时间: 2024-12-23 17:16:36 浏览: 3
在Python中实现一个简单的学生成绩管理系统,可以采用命令行界面或者轻量级框架如Flask或Django来构建。下面是一个基本的命令行版本的示例,使用字典存储学生信息:
```python
class StudentDatabase:
def __init__(self):
self.students = {}
# 注册登录函数
def register(self, name, password):
if name not in self.students:
self.students[name] = {'password': password}
else:
print("用户已存在")
def login(self, name, password):
if name in self.students and self.students[name]['password'] == password:
return True
else:
return False
# 录入成绩
def add_score(self, name, subject, score):
if self.login(name, password): # 假设password在这里是硬编码,实际应用中应安全处理
if name not in self.students[subject]:
self.students[name][subject] = [score]
else:
self.students[name][subject].append(score)
else:
print("未登录")
# 查询成绩
def get_scores(self, name, subject):
if self.login(name, password) and subject in self.students[name]:
return self.students[name][subject]
else:
print("查无此记录")
# 修改成绩
def update_score(self, name, subject, old_score, new_score):
if self.login(name, password) and subject in self.students[name]:
scores = self.students[name][subject]
for i, score in enumerate(scores):
if score == old_score:
scores[i] = new_score
break
print(f"成功将{old_score}更新为{new_score}")
else:
print("操作失败")
# 删除成绩
def delete_score(self, name, subject, score):
if self.login(name, password) and subject in self.students[name]:
scores = self.students[name][subject]
if score in scores:
scores.remove(score)
print(f"成功删除{score}")
else:
print("找不到指定的成绩")
else:
print("操作失败")
# 使用示例
db = StudentDatabase()
db.register("Alice", "1234") # 注册
db.login("Alice", "1234") # 登录
db.add_score("Alice", "Math", 90) # 录入成绩
print(db.get_scores("Alice", "Math")) # 查询成绩
db.update_score("Alice", "Math", 90, 95) # 修改成绩
db.delete_score("Alice", "Math", 90) # 删除成绩
```
这个例子非常基础,实际项目中需要考虑数据持久化、错误处理和安全性等问题。同时,对于大型项目,建议使用数据库(如SQLite, MySQL, PostgreSQL等)来存储和管理学生数据。
阅读全文