def main():
# 初始化学生字典
student = {}
# 示例:添加学生信息
student['张三'] = [90, 85, 92, 78, 88]
student['李四'] = [82, 95, 76, 88, 90]
student['王五'] = [68, 78, 82, 95, 101] # 故意设置一个错误分数来演示验证
student['赵六'] = [76, 85, 90, 82, 78]
# 验证并修正学生成绩
for name, scores in student.items():
if len(scores) < 5:
print(f"学生{name}的成绩少于5门,将跳过该学生。")
continue
if not all(0 <= score <= 100 for score in scores):
print(f"学生{name}存在无效成绩,将调整至有效范围。")
student[name] = [min(score, 100) for score in scores] # 只处理大于100的情况,小于0的情况未直接处理,因为题目设定要求分数不能小于0
# 输出所有学生的信息
print("\n所有学生信息:")
for name, scores in student.items():
print(f"{name}: {scores}")
# 根据学生姓名输出其成绩信息,并计算最高分、最低分、平均分
search_name = input("请输入要查询的学生姓名:")
if search_name in student:
scores = student[search_name]
highest = max(scores)
lowest = min(scores)
average = sum(scores) / len(scores)
print(f"\n{search_name}的成绩信息:")
print(f"成绩: {scores}")
print(f"最高分: {highest}")
print(f"最低分: {lowest}")
print(f"平均分: {average:.2f}")
else:
print(f"未找到名为{search_name}的学生。")
if __name__ == "__main__":
main()