
输入n个学生的python成绩,按照成绩升序排列,输出排列后的成绩,求平均值输出。
输入输出示例:
输入:
5
“0001
88
'0002
73
“0004
87
“0005'
78
'0006
88
输出:
成绩从高到低为:("“0001: 88, ""0006": 88, 0004": 87, "*0005":78,
""0002":73)
平均分=82.80

以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
根据你提供的任务描述和输入输出示例,下面是一个简单的Python程序,它可以完成你所要求的任务:
def main():
# 读取学生数量
n = int(input("请输入学生数量:"))
scores = []
# 读取每个学生的成绩
for _ in range(n):
student_id = input()
score = int(input())
scores.append((student_id, score))
# 按照成绩升序排列
scores.sort(key=lambda x: x[1], reverse=True)
# 输出排列后的成绩
print("成绩从高到低为:")
for student_id, score in scores:
print(f"{student_id}: {score}")
# 计算平均分
average_score = sum(score for _, score in scores) / n
print(f"平均分={average_score:.2f}")
if __name__ == "__main__":
main()
这个程序首先读取学生的数量,然后读取每个学生的成绩和学号,并将它们存储在一个列表中。之后,程序使用sort()函数和lambda表达式来根据成绩对列表进行降序排序(因为你要求的是升序排列,但示例中是降序,这里我假设是示例错误)。然后,程序遍历排序后的列表并打印每个学生的成绩和学号。最后,程序计算所有成绩的平均值并打印出来。
请注意,这个程序假设输入格式是正确的,并且每个成绩后面都紧跟着一个换行符。在实际应用中,你可能需要添加错误处理来确保程序的健壮性。
至于参考资料,Python官方文档是一个很好的资源,你可以在以下地址找到有关列表、元组、排序和输入输出的详细信息:
如果你需要更多帮助或者有其他问题,请随时告诉我。