以下是一个使用Python实现的简单学生成绩管理系统:
python
# 定义一个空字典来存储学生信息和成绩
students = {}
# 函数用于添加学生信息和成绩
def add_student():
student_id = input("请输入学生学号: ")
if student_id in students:
print("该学号已存在,请重新输入。")
return
name = input("请输入学生姓名: ")
num_subjects = int(input("请输入该学生的科目数量: "))
subjects = []
grades = []
for i in range(num_subjects):
subject = input(f"请输入第{i + 1}个科目的名称: ")
subjects.append(subject)
grade = float(input(f"请输入{subject}的成绩: "))
grades.append(grade)
students[student_id] = {'name': name,'subjects': subjects, 'grades': grades}
print(f"{name}同学的信息已成功添加。")
# 函数用于查询学生成绩
def query_student():
student_id = input("请输入要查询的学生学号: ")
if student_id not in students:
print("该学号不存在,请重新输入。")
return
student = students[student_id]
print(f"学生姓名: {student['name']}")
for subject, grade in zip(student['subjects'], student['grades']):
print(f"{subject}: {grade}")
# 函数用于计算所有学生某一科目的平均分
def calculate_average(subject_name):
total_grade = 0
num_students = 0
for student in students.values():
if subject_name in student['subjects']:
index = student['subjects'].index(subject_name)
total_grade += student['grades'][index]
num_students += 1
if num_students == 0:
print(f"没有学生选修{subject_name}科目。")
return
average = total_grade / num_students
print(f"{subject_name}科目的平均成绩为: {average}")
while True:
print("1. 添加学生信息和成绩")
print("2. 查询学生成绩")
print("3. 计算某科目平均分")
print("4. 退出系统")
choice = int(input("请输入你的选择: "))
if choice == 1:
add_student()
elif choice == 2:
query_student()
elif choice == 3:
subject_name = input("请输入要计算平均分的科目名称: ")
calculate_average(subject_name)
elif choice == 4:
break
else:
print("无效的选择,请重新输入。")
这个学生成绩管理系统具有以下功能:
- 添加学生信息和成绩:用户可以输入学生的学号、姓名、科目数量以及每个科目的名称和成绩,系统将这些信息存储在一个字典中。
- 查询学生成绩:通过输入学号,可以查询特定学生的各科成绩。
- 计算某科目平均分:输入科目名称后,系统会计算选修该科目的所有学生的平均成绩。
- 退出系统:用户可以选择退出成绩管理系统。
请注意,这个系统只是一个简单的示例,如果要用于实际场景,可能需要进一步扩展功能,如数据持久化(将数据保存到文件或数据库中)、更复杂的成绩统计功能等。