我正在做一项作业,要求我们读取数字的 .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 回答
慕工程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
添加回答
举报
0/150
提交
取消