Python學習記錄_基本統計值計算

BestZT發表於2020-10-22

程式碼思想:
分別用四個函式來封裝數值、平均值、標準差、中位數,然後呼叫輸出

#基本統計值計算
import math
def getnums():
    nums=[]#定義nums列表用於存放輸入的數字
    n=input("請輸入數字(輸入#停止輸入):")
    while n!='#':
        nums.append(eval(n))#當輸入的內容不是#時,將對應字串轉換為數字加入nums列表
        n=input("請輸入數字(輸入#停止輸入):")
    return nums#返回最終輸入的數字集
def avg(nums):
    sum=0
    for i in nums:
        sum+=i
    return sum/len(nums)#返回資料平均值
def std(nums,avg):
    sum=0
    for i in nums:
        sum+=(i-avg)**2
    return math.sqrt(sum/(len(nums)-1))#返回資料標準差
def mid(nums):
    end=sorted(nums)
    if len(nums)%2==0:
        return (end[len(nums)//2]+end[len(nums)//2-1])/2#當輸入資料總量為偶數時,返回中間兩位數的和的平均值為中位數
    else:
        return end[len(nums)//2]#當輸入資料總量為奇數時,返回中間那位數為中位數
m=getnums()
n=avg(m)
print("平均值為{},標準差為{:.2},中位數為{}".format(n,std(m,n),mid(m)))

注:請不要輸入除數字和#以外的內容,否則會報錯

效果圖:
在這裡插入圖片描述

相關文章