Skip to main content
 首页 » 编程设计

python之在不使用排序函数的情况下查找中位数

2025年05月04日19Leo_wl

作为家庭作业,我必须编写一个脚本,在不使用 Python 的标准排序函数的情况下找到 3 个给定数字的中位数。

这是我类的第一周,也是我的第一次编程体验,所以我发现很难比现在更进一步。

这是我目前所拥有的:

def med3(a,b,c): 
    list = [a, b, c] 
    newlist = [] 
    if list: 
        minimum = list[0] 
        for x in list: 
            if x < minimum: 
                minimum = x 
                newlist.append(minimum) 
                list.remove(minimum) 
            elif x >= minimum: 
                newlist.append(x) 
                list.remove(x) 
 
    return newlist[1] 

这似乎可以解决问题,但仅限于列表的前两个条目。该循环不包括第三个条目。

如何让脚本包含所有三个条目?

提前致谢! 砂光机

请您参考如下方法:

sum([a, b, c]) - min(a, b, c) - max(a, b, c) - 无排序!