如何用python的字典和列表来实现学生成绩管理?

Python010

如何用python的字典和列表来实现学生成绩管理?,第1张

下面是一个使用 Python 的字典和列表来实现学生成绩管理的简单例子。此例子实现了所有要求,但没有使用定义学生结构体类型和数组:

# 定义学生数据字典

students = []

# 定义输入函数

def input_student():

while True:

student = {}

student['id'] = input('学号: ')

student['class'] = input('班级: ')

student['name'] = input('姓名: ')

student['scores'] = []

for i in range(3):

score = input('第%d门课程成绩: ' % (i + 1))

student['scores'].append(score)

students.append(student)

if input('是否继续输入(y/n): ') != 'y':

break

# 定义求平均分函数

def average_score():

for student in students:

total = 0

for score in student['scores']:

total += score

student['average'] = total / len(student['scores'])

# 定义求最高平均分函数

def max_average():

max_student = None

max_average = 0

for student in students:

if student['average'] >max_average:

max_student = student

max_average = student['average']

return max_student

# 调用输入函数

input_student()

# 调用求平均分函数

average_score()

# 输出每个学生的3门课程平均分

for student in students:

print('学号: %s, 班级: %s, 姓名: %s, 平均分: %.2f' % (student['id'], student['class'], student['name'], student['average']))

# 调用求最高平均分函数

max_student = max_average()

# 输出最高平均分的学生信息

if max_student:

print('\n平均分最高的学生: 学号: %s, 班级: %s, 姓名: %s, 3门课程成绩: %s, 平均分: %.2f' % (max_student['id'], max_student['class'], max_student['name'], max_student['scores'], max_student['average']))

在上面的例子中,我们定义了一个学生数据字典,用于存储学生信息。然后定义了三个函数,分别用于输入学生信息、求每个学生3门课程的平均分和求平均分最高的学生。最后,在主函数中调用这三个函数,并输出结果。

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、

分析文本的结构,可以分析出来。第一行是电影名,第二行开始是打分数据。打分数据的格式是:人名评分评分评分...

分析字典结构。可以分析出来,字典的每一条数据,键key是人名,值values是一个字典描述的是电影和评分的信息,键key是电影名,值value是电影的评分

其他细节:1)文本Jack Mattews, 这里的逗号应该是分号吧?虽然也能切割字符串,但这里应该是笔误。2)评分为0的电影,不保存到数据字典里

运行截图

源代码和详细解释,在附件下载