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

-7 各科成绩统计值计算 分数 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 import numpy as np from random import seed, randint # 输入学生数量 n = int(input("请输入学生数量:")) # 设置随机数种子 seed(10) # 生成学号和成绩列表 data = [['学号', '语文', '数学', '外语']] for i in range(n): student_id = str(2023101 + i) chinese = str(randint(60, 100)) math = str(randint(60, 100)) english = str(randint(60, 100)) data.append([student_id, chinese, math, english]) # 输出成绩列表 for item in data: print(item) # 计算各科成绩的平均分 chinese_scores = [float(item[1]) for item in data[1:]] math_scores = [float(item[2]) for item in data[1:]] english_scores = [float(item[3]) for item in data[1:]] chinese_avg = np.mean(chinese_scores) math_avg = np.mean(math_scores) english_avg = np.mean(english_scores) # 计算各科成绩的标准差 chinese_std = np.std(chinese_scores) math_std = np.std(math_scores) english_std = np.std(english_scores) # 计算各科成绩的中位数 chinese_median = np.median(chinese_scores) math_median = np.median(math_scores) english_median = np.median(english_scores) # 输出结果 print("语文平均分:", round(chinese_avg, 2)) print("数学平均分:", round(math_avg, 2)) print("英语平均分:", round(english_avg, 2)) print("语文标准差:", round(chinese_std, 2)) print("数学标准差:", round(math_std, 2)) print("英语标准差:", round(english_std, 2)) print("语文中位数:", round(chinese_median, 2)) print("数学中位数:", round(math_median, 2)) print("英语中位数:", round(english_median, 2)) ``` 注意:这段代码使用了numpy库来计算平均值、标准差和中位数,所以确保你的计算机上已经安装了numpy库。 [2024-05-08 11:21:34 | AI写代码神器 | 1398点数解答]

相关提问