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日

悬赏问题

  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录