急!python基础题,求助
题目的要求是用函数得到一个列表的中间数,如果列表长度为偶则取中间两数的平均值。
代码如下:
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))
其他回答
暂无其它回答!