Posts pythonTip 8 求中位数
Post
Cancel

pythonTip 8 求中位数

题目描述:

给你一个整数列表L, 输出L的中位数(若结果为小数,则保留一位小数)。

例如: L=[0,1,2,3,4]

则输出:2

分析

求一个数组的中位数的思路。

  1. 先对数组进行排序。
  2. 判断这个数组是奇数还是偶数。
  3. 奇数就是中间的哪一个数。偶数就是 中间两个数的平均值。

题目有一个要求,如果结果是小数,保留一位。 我就在想,如果不是小数,是不是就不应该有小数位。 我做了一个判断。可以通过,不加这个判断,也可以通过。 因此,我感觉题目的描述和测试数据和我想的有点点不太对劲。

  1. 不加判断 ```python3 L.sort() lenght = len(L)

if lenght % 2 == 1: res = L[lenght//2] else: res = (L[lenght//2] + L[lenght//2-1] ) / 2 print(round(res, 1))

1
2
2. 加判断

if int(res) == res: print(res) else: print(round(res, 1)) ```

This post is licensed under CC BY 4.0 by the author.
Trending Tags
Contents

pythonTip 7 求矩形面积

pythonTip 9 最大公约数

Trending Tags