Numstr = input("請輸入所有數據:英文逗號(,),中文逗號(,),\
空格()、制表符(tab鍵)或換行符(請復制壹次)中統壹分隔的數據之壹): ")
如果“,”在numstr中:
numlist = numstr.split(",")
elif "," in numstr:
numlist = numstr.split(",")
numstr中的elif "\t ":
numlist = numstr.split("\t ")
numstr中的elif "\n ":
numlist = numstr.split("\n ")
numstr中的elif " ":
numlist = numstr.split(" ")
否則:
numlist = [numstr]
numlist = list(map(lambda x:x . strip(",")。條帶(“,”)。\
strip("\t ")。strip("\n ")。strip(" ",numlist))
對於numlist.copy()中的I:
嘗試:
a =浮動(壹)
除了:
numlist.remove(i)
Print("過濾後的字符串:%s"%i ")
#好吧,以上很多只是為了方便用戶(但有些還是有用的),主要是以下幾種。
numlist = list(map(lambda x:float(x),numlist) #所有字符串都轉換為浮點型。
Print("最終系列:",numlist)#輸出用於檢查的最終系列。
average = sum(numlist)/len(numlist)#將系列的總和除以列的長度,得到平均值。
方差= 0#方差,先記為0。
對於numlist中的I:#遍歷列表
方差+= (i-average) ** 2#反正是公式對吧?先加進去。
Variance /= len(numlist)#還是壹個公式,那麽長的字符串還得除以壹個數列的長度。
print(" mean:% . 2f \ n variance:% . 2f " %(average,variance))#分兩行輸出。
以下是輸出效果:
請輸入所有數據:使用英文逗號(,)、中文逗號(,)、空格()、tab (tab鍵)或換行符(請復制壹次)中的壹種分隔數據:38、22、99、10、99、7、25、40。
過濾字符串:
最終系列:[38.0,22.0,99.0,10.0,99.0,7.0,25.0,40.0]
平均值:42.50
方差:1181.75
以下是分析:
平均數的思路是用總和除以列表的長度,方差的思路是把所有(x均值)?加起來最後除以壹個長度。
這個程序的優點:輸入壹個逗號時,不會出現逗號後有空格,不小心打多了逗號等問題。可以接受小數,可以先輸出最後的數列進行核對。