[英]object of type NoneType has no len
def medianeven (L):
while len(L) > 2:
L = L[1:(len(L)-1)]
return average (L)
def medianodd (L):
while len(L) > 1:
L = L[1:(len(L)-1)]
return L[0]
def median (L):
new = L.sort()
a = len(new)
if a % 2 == 0:
medianeven(new)
else:
medianodd(new)
它說TypeError: object of type 'NoneType' has no len()
。 median
medianeven
和median
medianodd
起作用,但是median
本身不起作用。
.sort()
就位並返回None
。
更改此行:
new = L.sort()
為此:
L.sort()
並僅用L
替換所有new
實例。 您還需要return
這些函數調用的結果:
if a % 2 == 0:
return medianeven(new)
else:
return medianodd(new)
另外,Python的切片支持負索引,因此此代碼:
L[1:(len(L)-1)]
可以簡化為
L[1:-1]
您在該行中進行的sort()方法調用:
new = L.sort();
不返回任何東西。 因此,“新”持有“無”,沒有長度。 我相信這樣做L.sort()可以對列表進行排序。 不需要將其存儲在“ new”中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.