def getNum(): #獲取用戶不定長度的輸入 nums=[] #定義一個空列表 iNumStr = input("請輸入數字(回車退出):") while iNumStr !="": nums.append(eval(iNumStr)) iNumStr = input("請輸入數字(回車退出):") return nums def mean(numbers): #計算平均值 s=0.0 for num in numbers: s=s+num return s/len(numbers) def dev(numbers,mean): #計算方差 sdev=0.0 for num in numbers: sdev=sdev+(num-mean)**2 return pow(sdev/(len(numbers)-1),0.5) def median(numbers): #計算中位數 sorted(numbers) #將列表進行排序 size=len(numbers) #獲取列表元素個數 if size%2==0: #如果列表個數為偶數,那么取中間兩個數求平均值 med=(numbers[size//2-1]+numbers[size//2])/2 else: #如果列表個數為奇數,那么取中間的值就好了 med=numbers[size//2] return med n=getNum() m=mean(n) print("平均值:{},方差:{:.2},中位數:{}.".format(m,dev(n,m),median(n)))
測試: