用Python制作一份学生成绩管理系统
时间: 2023-10-09 17:12:11 浏览: 196
基于python制作学生成绩管理系统
5星 · 资源好评率100%
好的,学生成绩管理系统可以分为以下几个模块:学生信息录入、成绩录入、成绩查询、成绩统计和成绩排名。下面我将一步步教您如何使用 Python 实现这个系统。
1. 学生信息录入
我们可以使用字典来存储学生信息,以学号为键,学生姓名为值。首先,我们需要定义一个空字典来存储学生信息:
```
students = {}
```
然后,我们可以编写一个函数来录入学生信息:
```python
def add_student(students):
id = input("请输入学生学号:")
name = input("请输入学生姓名:")
students[id] = name
print("学生信息录入成功!")
```
在上述代码中,我们通过 input 函数从控制台获取学生的学号和姓名,然后将其存储到字典中。可以在主程序中调用该函数来录入学生信息:
```python
add_student(students)
```
2. 成绩录入
我们可以使用嵌套字典来存储学生的成绩信息,以学号为键,成绩信息为值。首先,我们需要定义一个空字典来存储学生成绩信息:
```python
scores = {}
```
然后,我们可以编写一个函数来录入学生成绩信息:
```python
def add_score(students, scores):
id = input("请输入学生学号:")
if id not in students:
print("该学生不存在,请重新输入!")
return
chinese = input("请输入语文成绩:")
math = input("请输入数学成绩:")
english = input("请输入英语成绩:")
scores[id] = {
"chinese": chinese,
"math": math,
"english": english
}
print("学生成绩录入成功!")
```
在上述代码中,我们通过 input 函数从控制台获取学生的学号和成绩信息,然后将其存储到嵌套字典中。可以在主程序中调用该函数来录入学生成绩信息:
```python
add_score(students, scores)
```
3. 成绩查询
我们可以编写一个函数来查询学生成绩信息:
```python
def query_score(students, scores):
id = input("请输入学生学号:")
if id not in students:
print("该学生不存在,请重新输入!")
return
print("学生姓名:", students[id])
print("语文成绩:", scores[id]["chinese"])
print("数学成绩:", scores[id]["math"])
print("英语成绩:", scores[id]["english"])
```
在上述代码中,我们通过 input 函数从控制台获取学生的学号,然后从字典中查询学生姓名和成绩信息,并输出到控制台。可以在主程序中调用该函数来查询学生成绩信息:
```python
query_score(students, scores)
```
4. 成绩统计
我们可以编写一个函数来统计学生成绩信息:
```python
def stat_score(scores):
chinese_sum = 0
math_sum = 0
english_sum = 0
count = len(scores)
for id in scores:
chinese_sum += int(scores[id]["chinese"])
math_sum += int(scores[id]["math"])
english_sum += int(scores[id]["english"])
chinese_avg = round(chinese_sum / count, 2)
math_avg = round(math_sum / count, 2)
english_avg = round(english_sum / count, 2)
print("语文平均分:", chinese_avg)
print("数学平均分:", math_avg)
print("英语平均分:", english_avg)
```
在上述代码中,我们通过遍历嵌套字典来统计学生各科成绩的总分,并计算平均分。可以在主程序中调用该函数来统计学生成绩信息:
```python
stat_score(scores)
```
5. 成绩排名
我们可以编写一个函数来对学生成绩进行排名:
```python
def rank_score(scores):
sorted_scores = sorted(scores.items(), key=lambda x: int(x[1]["chinese"]) + int(x[1]["math"]) + int(x[1]["english"]), reverse=True)
print("排名\t学号\t姓名\t总分")
for i, (id, score) in enumerate(sorted_scores):
print("{0}\t{1}\t{2}\t{3}".format(i+1, id, students[id], int(score["chinese"]) + int(score["math"]) + int(score["english"])))
```
在上述代码中,我们通过对嵌套字典进行排序来对学生成绩进行排名,并输出到控制台。可以在主程序中调用该函数来对学生成绩进行排名:
```python
rank_score(scores)
```
至此,学生成绩管理系统已经完成了!您可以将以上代码保存到一个 Python 文件中,并在命令行中运行该文件来使用该系统。
阅读全文