编写程序,输出一个由整数所构成的列表的中位数。

#编写程序,输出一个由整数所构成的列表的中位数。说明:当元素数目为偶数时,输出中间两个数的均值。
可以使用系统内置的排序函数

可以参考下面代码试试

def get_median(data_list):
    sorted(data_list)
    length = len(data_list)
    index = int(length / 2)
    if length % 2 == 0:
        return (data_list[index - 1] + data_list[index]) / 2
    return data_list[index]


test_list = eval(input("请输入列表数据:"))
print(f"列表中位数为:{get_median(test_list)}")

import random

def get_middle(data):
    """计算中位数"""
    mid_idx = len(data) // 2
    if len(data) % 2 == 0:
        return (data[mid_idx - 1] + data[mid_idx]) / 2
    else:
        return data[mid_idx]


data = [random.randint(1, 10) for i in range(10)]
data = [random.randint(1, 10) for i in range(9)]
print(get_middle(data))

有帮助的话,请点采纳该答案~

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7710452
  • 这篇博客你也可以参考下:在训练前标准化了训练集和测试集,训练完了以后,抽取未标准化的一条数据进行预测,结果出了问题
  • 除此之外, 这篇博客: 多元病态线性回归中的 一、病态线性回归问题中,显著性检验是否需要?如果需要,是在自变量降维去线性之前,还是之后,还是前后都检验? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 病态线性回归问题需要进行显著性检验,需要在自变量降维去线性之后进行显著性检验。

    显著性检验(significance test)就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断这个假设(备择假设)是否合理,即判断总体的真实情况与原假设是否有显著性差异。或者说,显著性检验要判断样本与我们对总体所做的假设之间的差异是纯属随机误差,还是由我们所做的假设与总体真实情况之间不一致所引起的。 显著性检验是针对我们对总体所做的假设做检验,其原理就是“小概率事件实际不可能性原理”来接受或否定假设。

    病态线性回归问题也需要利用样本信息来判断总体的参数或总体分布形式假设是否合理,判断总体的真实情况与原假设是否有显著性差异,因此病态线性回归问题中也需要进行显著性检验。

    显著性检验目的是判断总体真实情况与原假设是否有显著性差异,其公式为
    F=ESS/fERSS/fR=(N−n−1)ESSnRSS F=\frac{ESS/f_E}{RSS/f_R}=\frac{(N-n-1)ESS}{nRSS} F=RSS/fRESS/fE=nRSS(Nn1)ESS
    其中ESS,RSSESS,RSSESS,RSS只与真实情况与预测结果有关,与自变量维度无关,因此显著性检测位置只会影响fE,fRf_E,f_RfE,fR参数中自变量自由度nnn。病态线性回归问题中,自变量XN×n1X_{N\times n_1}XN×n1线性相关,为降低极小特征值带来的巨大预测误差,需要近似地用更少的一组向量ZN×n2,n2<n1Z_{N\times n_2},n_2<n_1ZN×n2,n2<n1线性表示(降维)。因此自变量实际自由度n=n2n=n_2n=n2n2n_2n2是它的最大线性无关组所含向量数目,故显著性检验应在去线性(降维)之后进行。

  • 您还可以看一下 刘伶华老师的软件测试经典面试题剖析课程中的 工作中有遇到什么困难,怎么解决的?小节, 巩固相关知识点