求中位数的正确方法,高二求中位数最简单的方法

首页 > 教育 > 作者:YD1662025-03-01 15:43:46

from collections import Counter def find_mode_and_median(arr): # 1. 找到众数 counter = Counter(arr) max_count = max(counter.values()) modes = [num for num, count in counter.items() if count == max_count] # 2. 对众数数组排序 modes_sorted = sorted(modes) # 3. 计算中位数 n = len(modes_sorted) if n % 2 == 1: median = modes_sorted[n // 2] else: median = (modes_sorted[n // 2 - 1] modes_sorted[n // 2]) / 2 return median # 自定义输入 if __name__ == "__main__": try: # 输入数组 input_str = input("请输入一个整型数组(以空格分隔):") arr = list(map(int, input_str.strip().split())) # 检查数组是否为空 if not arr: print("输入数组不能为空。") else: # 计算并输出结果 result = find_mode_and_median(arr) print(f"众数数组的中位数为: {result}") except ValueError: print("输入无效,请输入一个以空格分隔的整型数组。")

求中位数的正确方法,高二求中位数最简单的方法(1)

代码说明:
  1. 输入处理

使用 input() 获取用户输入的数组。

将输入的字符串转换为整数列表。

  1. 众数查找

使用 collections.Counter 统计每个数字的出现次数。

找到出现次数最多的数字(众数)。

  1. 中位数计算

对众数数组进行排序。

根据数组长度的奇偶性计算中位数。

  1. 输出结果

打印众数数组的中位数。

,

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.