python2.0 自定义函数_计算序列中位数 自定义函数:mid(iterable),功能是计算序列iterable的中位数。 中位数定义:一个含有n个数的有序(升或降序)序列,当n为奇数时中位数为中间位置上的元素值,n为偶数量,取中间位置两个元素的均值。 输入一个以空格分隔的数值序列,调用mid()计算并输出序列的中位数, 保留1位小数
时间: 2024-01-22 11:18:33 浏览: 137
以下是 Python 2.0 中实现计算序列中位数的自定义函数 mid(iterable):
```python
def mid(iterable):
sorted_iterable = sorted(iterable)
n = len(sorted_iterable)
if n % 2 == 0:
return round((sorted_iterable[n // 2 - 1] + sorted_iterable[n // 2]) / 2.0, 1)
else:
return round(sorted_iterable[n // 2], 1)
```
其中,sorted() 函数用于对序列 iterable 进行升序排序。n 变量存储了序列的长度。如果序列长度为偶数,中位数为中间位置两个元素的均值;否则,中位数为中间位置上的元素值。round() 函数用于保留1位小数。
以下是调用 mid() 函数计算并输出序列的中位数的代码:
```python
numbers = raw_input("请输入以空格分隔的数值序列:").split()
numbers = [float(x) for x in numbers]
print "序列的中位数为:", mid(numbers)
```
首先,使用 raw_input() 函数从键盘读取以空格分隔的数值序列,并将其转换为列表。然后,调用 mid() 函数计算序列的中位数,并使用 print 语句输出结果。
相关问题
python2.0 自定义函数:mid(iterable),功能是计算序列iterable的中位数。 中位数定义:一个含有n个数的有序(升或降序)序列,当n为奇数时中位数为中间位置上的元素值,n为偶数量,取中间位置两个元素的均值。 输入一
下是实现mid函数的Python 2.0代码:
```python
def mid(iterable):
sorted_list = sorted(iterable) # 将序列排序
n = len(sorted_list)
if n % 2 == 1: # 奇数情况
return sorted_list[n // 2]
else: # 偶数情况
mid_right = sorted_list[n // 2]
mid_left = sorted_list[n // 2 - 1]
return (mid_right + mid_left) / 2.0
```
使用方法:
```python
>>> nums = [1, 2, 3, 4, 5]
>>> mid(nums)
3
>>> nums = [1, 2, 3, 4]
>>> mid(nums)
2.5
```
阅读全文