急!python基础题,求助

原问题:急!python基础题,求助
分类:编程开发 > 最后更新时间:【2017-07-29 18:32:00】
问题补充:

题目的要求是用函数得到一个列表的中间数,如果列表长度为偶则取中间两数的平均值。

代码如下:

def median(lists):

m = len(lists)

lists = sorted(lists)

if m % 2 == 1:

return lists[(m - 1) / 2]

else:

return (lists[m / 2] + lists[n / 2 - 1]) / 2.0

lists = input('Please enter a list:')

print(median(lists))

却报错TypeError,求大神解答。

最佳答案

你的程序只能用于2.X,且其中m写成n了

以下程序可以用于3.X

def median(lists):
m = len(lists)
lists = sorted(lists)
print(m)
if m % 2 == 1:
return lists[int((m - 1) / 2)]
else:
return (lists[int(m / 2)] + lists[int(m / 2 - 1)]) / 2.0
lists = eval(input('Please enter a list:'))
print(median(lists))

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
17

分享到:

其他回答

暂无其它回答!

    推荐