1
我想寫一箇中位數函數,目前我有一個需要一個列表並對其進行排序然後給出中位數。但我試圖重寫它,以便如果列表中包含偶數個元素,它不會打印中位數,而是列表中位數介於中間的2個數字。繼承人我的代碼寫一箇中位數函數
def getMedian(A):
A=sorted(A)
n=len(A)
m=n-1
return (A[int(n/2)]+A[int(m/2)])/2
def main():
myList=[3,5,9,3,11]
print(getMedian(myList))
myList=[3,9,11,5]
print(getMedian(myList))
main()
目前它輸出5,然後7但我試圖讓它輸出5,然後5,9任何意見?
您告訴它在函數結束時返回2箇中間數字的平均值。我建議檢查是否n%2 == 0或n%2 == 1,然後有一個if-then語句來確定返回的內容 – mauve
以及返回什麼'[5,10,10,15]'? –