如何在不使用 median() 调用的情况下读取数字的 .txt 文件以查找所述数字的中位数?

我正在做一项作业,要求我们读取数字的 .txt 文件,然后想出一种方法来使用列表的长度来确定数字列表的奇数/偶数长度的中间索引来计算中位数而不使用 median() 调用。我不明白我会怎么做,有什么帮助!(我还是 Python 的新手)


debug = print


# assign name of file to be read

file = "numbers_even.txt"


# open file to be read

def get_median(med):

    with open(file, mode='r') as my_file:

    # assign middle index values for list    

        m2 = len(file) // 2

        debug("index2", m2)


        m1 = m2 -1


        value1 = file[m1]

        debug(m1, value1)


        value2 = file[m2]


        middle = (value1 + value2) / 2

        debug("val1:", value1, "val2:", value2, "mid", middle)

    # end with

# end function


get_median(file)


MYYA
浏览 75回答 2
2回答

白板的微信

我会建议将所有数字放入一个列表中。然后您可以对列表进行排序并选择中间索引。

慕工程0101907

假设您的文本文件 (numbers_even.txt) 看起来像这样:1234567891011你可以这样做:with open('numbers_even.txt','r') as f:    median = f.readlines()if len(median) % 2 == 0:    print(median[int(len(median)/2-1)])else:    print((int(median[int(len(median)//2)])+int(median[int(len(median)//2-12)]))/2)输出:5.5
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python