python求解數字的平均值、方差、中位數
阿新 • • 發佈:2018-11-11
# 定義數字輸入函式 def getNum(): nums = [] iNumStr = input("請輸入數字(回車退出):") while iNumStr != "": #當輸入為空時,跳出迴圈 nums.append(eval(iNumStr)) #在nums列表後加入輸入的數字 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) #使用sorted()函式對列表進行排序 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("平均值:{},方差:{:.2f},中位數:{}.".format(m, dev(n, m), median(n)))