酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

各科成绩统计值计算 分数 5 作者 yqhyzy 单位 上海海洋大学 要求:顺序生成n个学生的学号及语文、数学和英语成绩,然后分别计算输出各科成绩的平均分、标准差及中位数(保留两位小数)。其中n由input()输入,学生学号从2023101开始顺序编号,各科成绩由randint生成[60,100]中的随机整数,随机数种子设为10, n为5时生成的数据及输出结果如下所示。 [['学号', '语文', '数学', '外语'], ['2023101', '96', '62', '87'], ['2023102', '90', '96', '60'], ['2023103', '73', '89', '91'], ['2023104', '77', '70', '62'], ['2023105', '93', '91', '80']]

要完成这个任务,我们需要编写一个Python程序,该程序将接收一个输入值`n`,然后生成`n`个学生的学号以及他们的语文、数学和英语成绩。接着,程序将计算并输出每科成绩的平均分、标准差和中位数。 这里是一个简单的Python程序,用于实现上述要求: ```python import random from statistics import median from math import sqrt # 设置随机数种子 random.seed(10) # 输入学生数量 n = int(input("请输入学生数量n:")) # 初始化学生成绩列表 students = [] # 生成学生学号及成绩 for i in range(1, n+1): student_id = f"202310{i:03}" # 格式化学号,确保为三位数,不足前面补0 chinese_score = random.randint(60, 100) math_score = random.randint(60, 100) english_score = random.randint(60, 100) students.append([student_id, chinese_score, math_score, english_score]) # 打印学生成绩列表 print("学号\t语文\t数学\t外语") for student in students: print("\t".join(map(str, student))) # 计算各科成绩的平均分、标准差和中位数 def calculate_statistics(scores): average = sum(scores) / len(scores) variance = sum((x - average) 2 for x in scores) / len(scores) standard_deviation = sqrt(variance) return average, standard_deviation, median(scores) # 计算并打印统计值 chinese_stats = calculate_statistics([score[1] for score in students]) math_stats = calculate_statistics([score[2] for score in students]) english_stats = calculate_statistics([score[3] for score in students]) print(f"语文平均分:{chinese_stats[0]:.2f},标准差:{chinese_stats[1]:.2f},中位数:{chinese_stats[2]:.2f}") print(f"数学平均分:{math_stats[0]:.2f},标准差:{math_stats[1]:.2f},中位数:{math_stats[2]:.2f}") print(f"英语平均分:{english_stats[0]:.2f},标准差:{english_stats[1]:.2f},中位数:{english_stats[2]:.2f}") ``` 当您运行这个程序时,它将提示您输入学生数量`n`,然后生成对应的学生成绩数据,并计算每科成绩的平均分、标准差和中位数,最后打印出来。 注意:这个程序使用了Python的`random`模块来生成随机数,并使用`statistics`模块中的`median`函数来计算中位数。标准差是通过计算方差然后开方得到的,这里使用了`math`模块中的`sqrt`函数。所有的统计值都保留了两位小数,符合题目要求。 [2024-05-08 11:25:45 | AI写代码神器 | 683点数解答]

相关提问