用Python写一份学生管理系统
时间: 2023-11-19 19:53:51 浏览: 62
Python可以用来编写学生管理系统,这个系统可以实现添加、删除、修改、查询和显示所有学生信息等功能。具体实现可以分为两个模块,一个是student_main模块,负责输入操作,另一个是student_tools模块,负责具体的学生信息系统操作实现功能。在student_main模块中,可以使用主函数来实现程序的整体逻辑控制,包括打印主菜单、用户输入选项选择对应的功能等。在student_tools模块中,可以定义各种函数来实现具体的功能,例如添加学生信息、删除学生信息、修改学生信息、查询学生信息和显示所有学生信息等。整个程序代码大概200行左右。
相关问题
用python写一个学生管理系统
好的,这是一份简单的学生管理系统的 Python 代码:
```
class Student:
def __init__(self, name, age, gender, student_id):
self.name = name
self.age = age
self.gender = gender
self.student_id = student_id
def get_student_info(self):
return f"姓名: {self.name}, 年龄: {self.age}, 性别: {self.gender}, 学号: {self.student_id}"
class StudentManager:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, student_id):
for student in self.students:
if student.student_id == student_id:
self.students.remove(student)
break
def update_student(self, student_id, new_student):
for student in self.students:
if student.student_id == student_id:
student.name = new_student.name
student.age = new_student.age
student.gender = new_student.gender
break
def get_student_by_id(self, student_id):
for student in self.students:
if student.student_id == student_id:
return student
return None
def get_all_students(self):
return self.students
# 创建学生管理器
manager = StudentManager()
# 创建学生
student1 = Student("张三", 20, "男", "20220001")
student2 = Student("李四", 21, "女", "20220002")
student3 = Student("王五", 22, "男", "20220003")
# 添加学生
manager.add_student(student1)
manager.add_student(student2)
manager.add_student(student3)
# 获取所有学生
students = manager.get_all_students()
for student in students:
print(student.get_student_info())
# 根据学号查找学生
student = manager.get_student_by_id("20220001")
if student:
print(f"找到学生: {student.get_student_info()}")
else:
print("未找到学生")
# 修改学生信息
new_student = Student("李小六", 23, "女", "20220001")
manager.update_student("20220001", new_student)
student = manager.get_student_by_id("20220001")
if student:
print(f"找到学生: {student.get
用Python制作一份学生成绩管理系统
好的,学生成绩管理系统可以分为以下几个模块:学生信息录入、成绩录入、成绩查询、成绩统计和成绩排名。下面我将一步步教您如何使用 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 文件中,并在命令行中运行该文件来使用该系统。
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)