为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MYYA 2022-12-27 15:32:49
我正在做一项作业,要求我们读取数字的 .txt 文件,然后想出一种方法来使用列表的长度来确定数字列表的奇数/偶数长度的中间索引来计算中位数而不使用 median() 调用。我不明白我会怎么做,有什么帮助!(我还是 Python 的新手)debug = print# assign name of file to be readfile = "numbers_even.txt"# open file to be readdef 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 functionget_median(file)
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

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



查看完整回答
反对 回复 2022-12-27
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

假设您的文本文件 (numbers_even.txt) 看起来像这样:


1

2

3

4

5

6

7

8

9

10

11

你可以这样做:


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


查看完整回答
反对 回复 2022-12-27
  • 2 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信