m0_66073029 2022-05-09 09:11 采纳率: 85.7%
浏览 106
已结题

python 中位数几何

N个整数的中位数是指这N个整数排序后中间的那个数(即小于它和大于它的数的数量相等),如果个数为奇数,排序后中间的那个数即为中位数,并约定:如果N为偶数,则取排序后正中间的两个数的平均值(取整数)。编写程序,输出给定整数数组的前1个,前2个,……前N个的中位数(以空格分隔)。

输入格式:
第一行是整数的个数N(正整数)、第二行是空格间隔的N个整数。

输出格式:
花括号中的N个整数,以逗号分隔,依次是前一个,前两个,……前N个数的中位数(整数)。

输入样例:
6
-20 30 -10 10 40 -40
输出样例:
{-20,5,-10,0,10,0}
代码长度限制
16 KB
时间限制
40 ms
内存限制
64 MB

  • 写回答

1条回答 默认 最新

  • A Python 萌新花花 2022-05-09 09:40
    关注
    a = int(input())
    b = input().split(" ")
    b = list(map(lambda x:int(x),b))
    d = []
    def sort(a):
        for j in range(1,len(a)):
            for i in range(len(a)-1):
                if a[i] > a[i+1]:
                    a[i], a[i+1] = a[i+1],a[i]
        return a
    for i in range(1,len(b)+1):
        c = sort(b[0:i])
        d.append(c[len(c)//2] if len(c) %2 == 1 else (c[len(c)//2]+c[len(c)//2-1])/2)
    print("{",end = "")
    for i in range(len(d)):
        print(d[i],end = "")
        print("," if i != len(d)-1 else "" ,end = "")
    print("}")
        
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 已采纳回答 5月30日
  • 创建了问题 5月9日

悬赏问题

  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面