用数组初始化方法设置5名学生6门课程成绩(0~100),并按总成绩下降的顺序显示每个学生总成绩和各门课成绩。
时间: 2023-04-29 11:07:17 浏览: 118
题目描述:
用数组初始化方法设置5名学生6门课程成绩(0~100),并按总成绩下降的顺序显示每个学生总成绩和各门课成绩。
回答:
该题是要求我们使用数组初始化方法设置5名学生6门课程成绩,这里需要注意的是,我们需要使用python中的bytes类型来表示题目中的数据,因此我们需要先将bytes类型转换成字符串类型,然后再使用eval()函数来将字符串类型转换为列表类型,最后我们可以使用sort()函数将列表按总成绩从大到小排序,然后再依次输出每个学生的总成绩以及各门课成绩即可。
例如:
score = b'\xe7\x94\xa8\xe6\x95\xb0\xe7\xbb\x84\xe5\x88\x9d\xe5\xa7\x8b\xe5\x8c\x96\xe6\x96\xb9\xe6\xb3\x95\xe8\xae\xbe\xe7\xbd\xae5\xe5\x90\x8d\xe5\xad\xa6\xe7\x94\x9f6\xe9\x97\xa8\xe8\xaf\xbe\xe7\xa8\x8b\xe6\x88\x90\xe7\xbb\xa9(0~100)\xef\xbc\x8c\xe5\xb9\xb6\xe6\x8c\x89\xe6\x80\xbb\xe6\x88\x90\xe7\xbb\xa9\xe4\xb8\x8b\xe9\x99\x8d\xe7\x9a\x84\xe9\xa1\xba\xe5\xba\x8f\xe6\x98\xbe\xe7\xa4\xba\xe6\xaf\x8f\xe4\xb8\xaa\xe5\xad\xa6\xe7\x94\x9f\xe6\x80\xbb\xe6\x88\x90\xe7\xbb\xa9\xe5\x92\x8c\xe5\x90\x84\xe9\x97\xa8\xe8\xaf\xbe\xe6\x88\x90\xe7\xbb\xa9\xe3\x80\x82'
scores_str = score.decode('utf-8')
scores_list = eval(scores_str)
scores_list.sort(key=lambda x: sum(x[1:]), reverse=True)
for i in scores_list:
total_score = sum(i[1:])
print(f"学生{i[0]}的总成绩为{total_score},各门课成绩为{i[1:]}")