首先我們先來了解一下計(jì)算平均數(shù)的IPO模式.
創(chuàng)新互聯(lián)建站主營天元網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),天元h5微信小程序開發(fā)搭建,天元網(wǎng)站營銷推廣歡迎天元等地區(qū)企業(yè)咨詢
輸入:待輸入計(jì)算平均數(shù)的數(shù)。
處理:平均數(shù)算法
輸出:平均數(shù)
明白了程序的IPO模式之后,我們打開本地的python的IDE
工具,并新建一個(gè)python文件,命名為test6.py.
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
打開test6.py,進(jìn)行編碼,第一步,提示用戶輸入要計(jì)算多少個(gè)數(shù)的平均數(shù)。
請(qǐng)點(diǎn)擊輸入圖片描述
第二步,初始化sum總和的值。注意,這是編碼的好習(xí)慣,在定義一個(gè)變量的時(shí)候,給一個(gè)初始值。
請(qǐng)點(diǎn)擊輸入圖片描述
第三步,循環(huán)輸入要計(jì)算平均數(shù)的數(shù),并計(jì)算總和sum的值。
請(qǐng)點(diǎn)擊輸入圖片描述
最后,計(jì)算出平均數(shù),并輸出,利用“總和/數(shù)量”的公式計(jì)算出平均數(shù)。
請(qǐng)點(diǎn)擊輸入圖片描述
編碼完成后,記得保存,然后進(jìn)行調(diào)試運(yùn)行。按F5鍵或者點(diǎn)擊菜單欄中的“run”-》“run model”來運(yùn)行程序。
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
函數(shù)體:
numpy.mean(a, axis=None, dtype=None, out=None, keepdims=??class 'numpy._globals._NoValue')[source]
功能:
計(jì)算指定軸的 算術(shù)平均值 。
返回?cái)?shù)組元素的平均值。默認(rèn)的情況下,求均值的操作在平展開來的數(shù)組上進(jìn)行,否則就在指定的軸上。
參數(shù):
①a:必須是數(shù)組。
②axis:默認(rèn)條件下是flatten的array,可以指定相應(yīng)的軸。
如果是二維矩陣,axis=0返回縱軸的平均值,axis=1返回橫軸的平均值。
例子如下:
注意 (關(guān)于精度):
算術(shù)平均值是沿軸的元素總和除以元素的數(shù)量。既然是除法,就涉及到一個(gè)精確度的問題。
對(duì)于浮點(diǎn)輸入,平均值的計(jì)算使用與輸入相同的精度計(jì)算,這可能會(huì)導(dǎo)致結(jié)果不準(zhǔn)確,特別是對(duì)于float32來說。為了緩解這個(gè)問題,我們可以使用dtype關(guān)鍵字指定更高精度的累加器。
具體看下面這個(gè)例程:
python沒有提供求平均數(shù)的函數(shù),建議先求和然后除以個(gè)數(shù)求得。
#!/usr/bin/env pythonimport timeimport numpy as np,dd = np.random.randint(0, 20, size=(2*1000*1000))t_start = time.clock()avg_sum1 =0.0BlockOffset = 0 ? ? while BlockOffset len(dd):if dd[BlockOffset + 1] = 10。
解釋性:
一個(gè)用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個(gè)你的計(jì)算機(jī)使用的語言(二進(jìn)制代碼,即0和1)。這個(gè)過程通過編譯器和不同的標(biāo)記、選項(xiàng)完成。
運(yùn)行程序的時(shí)候,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復(fù)制到內(nèi)存中并且運(yùn)行。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。你可以直接從源代碼運(yùn)行 程序。
在計(jì)算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語言并運(yùn)行。這使得使用Python更加簡單。也使得Python程序更加易于移植。