十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
python沒有提供求平均數(shù)的函數(shù),建議先求和然后除以個(gè)數(shù)求得。

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、呼和浩特網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為呼和浩特等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
#!/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更加簡(jiǎn)單。也使得Python程序更加易于移植。
# coding = GBK
a =[1,2,3,4,5]
sum=0
b = len(a)
print("這個(gè)數(shù)組的長度為:",b)
for i? in a:
sum =sum +i
print("這個(gè)數(shù)組之和為:",sum)
print("這個(gè)數(shù)組平均數(shù)為",sum/b)
或
import sys
sum = 0
cnt = 0
f = open('1.txt', 'r')
files = f.readline()
while (files ):
sum = sum + float(files .split(",")[0])
cnt = cnt + 1
files = f.readline()
print(sum / cnt)
f.close()
或者。
#!/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:
avg_sum1 += dd[BlockOffset + 1] * 0.1
else:
avg_sum1 += dd[BlockOffset + 0] * 0.01
BlockOffset += 2print('Avg: ' + str(avg_sum1 / len(dd) / 2)) ? ?print('Exe time: ' +
str(time.clock() - t_start))
擴(kuò)展資料:
python 實(shí)現(xiàn)求和、計(jì)數(shù)、最大最小值、平均值、中位數(shù)、標(biāo)準(zhǔn)偏差、百分比。
import?sys
class?Stats:
def?__init__(self, sequence):
# sequence of numbers we will process
# convert all items to floats for numerical processing
self.sequence?=?[float(item)?for?item?in?sequence]
def?sum(self):
if?len(self.sequence) ?1:
return?None
else:
return?sum(self.sequence)
def?count(self):
return?len(self.sequence)
def?min(self):
if?len(self.sequence) ?1:
return?None
else:
return?min(self.sequence)
def?max(self):
if?len(self.sequence) ?1:
return?None
else:
return?max(self.sequence)
def?avg(self):
if?len(self.sequence) ?1:
return?None
else:
return?sum(self.sequence)?/?len(self.sequence)?
def?median(self):
if?len(self.sequence) ?1:
return?None
else:
self.sequence.sort()
return?self.sequence[len(self.sequence)?//?2]
def?stdev(self):
if?len(self.sequence) ?1:
return?None
else:
avg?=?self.avg()
sdsq?=?sum([(i?-?avg)?**?2?for?i?in?self.sequence])
stdev?=?(sdsq?/?(len(self.sequence)?-?1))?**?.5
return?stdev
def?percentile(self, percentile):
if?len(self.sequence) ?1:
value?=?None
elif?(percentile =?100):
sys.stderr.write('ERROR: percentile must be 100.? you supplied: %s\n'%?percentile)
value?=?None
else:
element_idx?=?int(len(self.sequence)?*?(percentile?/?100.0))
self.sequence.sort()
value?=?self.sequence[element_idx]
return?value
參考資料來源:百度百科-python
函數(shù)函數(shù)是代碼的一種組織形式
函數(shù)應(yīng)該能完成一項(xiàng)特定的工作,而且一般一個(gè)函數(shù)只完成一項(xiàng)工作
有些語言,分函數(shù)和過程兩個(gè)概念,通俗解釋是,有返回結(jié)果的是函數(shù),無返回結(jié)果的叫過程,python不加以區(qū)分
函數(shù)的使用函數(shù)使用需要先定義
使用函數(shù),俗稱調(diào)用# 定義一個(gè)函數(shù)
# 只是定義的話不會(huì)執(zhí)行
# 1. def關(guān)鍵字,后跟一個(gè)空格
# 2. 函數(shù)名,自己定義,起名需要遵循便令命名規(guī)則,約定俗成,大駝峰命名只給類用
# 3. 后面括號(hào)和冒號(hào)不能省,括號(hào)內(nèi)可以有參數(shù)
# 4. 函數(shù)內(nèi)所有代碼縮進(jìn)
def func():
print("我是一個(gè)函數(shù)")
print("愛生活")
print("函數(shù)結(jié)束了")函數(shù)結(jié)束了# 函數(shù)的調(diào)用
# 直接寫出函數(shù)名字,后面小括號(hào)不能省略,括號(hào)內(nèi)內(nèi)容根據(jù)情況
func()我是一個(gè)函數(shù)
愛生活# 函數(shù)定義
def func():
print('A')
print('B')func()A
B
函數(shù)的參數(shù)和返回值參數(shù):負(fù)責(zé)給函數(shù)傳遞一些必要的數(shù)據(jù)或者信息形參(形式參數(shù)):在函數(shù)定義的時(shí)候用到的參數(shù),沒有具體值,只是一個(gè)占位符號(hào)
實(shí)參(實(shí)際參數(shù)):在調(diào)用函數(shù)的時(shí)候輸入的值
返回值:調(diào)用函數(shù)的時(shí)候的一個(gè)執(zhí)行結(jié)果使用return返回結(jié)果
如果沒有值需要返回,我們推薦使用return None表示函數(shù)結(jié)束
函數(shù)一旦執(zhí)行return,則函數(shù)立即結(jié)束
如果函數(shù)沒有return關(guān)鍵字,則函數(shù)默認(rèn)返回None# 形參和實(shí)參的案例
# 參數(shù)person只是一個(gè)符號(hào)
# 調(diào)用的時(shí)候用另一個(gè)
def hello(person):
print("{},你好嗎?".format(person))
return None
p = "小明"
# 調(diào)用函數(shù),需要把p作為實(shí)參傳入
hello(p)小明,你好嗎?p = "小五"
hello(p)小五,你好嗎?pp = hello("小柒")
print(pp)小柒,你好嗎?
None# return案例
def hello(person):
print("{0},你好嗎?".format(person))
return "提前結(jié)束!"
print(1)
p = "小明"
rst = hello(p)
print(rst)小明,你好嗎?
提前結(jié)束!# help負(fù)責(zé)隨時(shí)為你提供幫助
help(None) # 等價(jià)于help(peint())Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.# 九九乘法表
# version 1.0
for o in range(1, 10): # 控制外循環(huán) 從 1 到 9
for i in range(1, o + 1): # 內(nèi)循環(huán),每次從第一個(gè)數(shù)字開始,打印到跟行數(shù)相同的數(shù)量
print(o * i, end=" ")
print()1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81help(print)Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.# 嘗試用函數(shù)來打印九九乘法表
def jiujiu():
for o in range(1, 10): # 控制外循環(huán) 從 1 到 9
for i in range(1, o + 1): # 內(nèi)循環(huán),每次從第一個(gè)數(shù)字開始,打印到跟行數(shù)相同的數(shù)量
print(o * i, end=" ")
print()
return None
jiujiu()
jiujiu()1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81# 改造上面函數(shù)
def printLine(line_num):
'''
line_num;代表行號(hào)
打印一行九九乘法表
'''
for i in range(1, line_num + 1):
print(line_num * i, end=" ")
print()
def jiujiu():
for o in range(1, 10): # 控制外循環(huán) 從 1 到 9
printLine(o)
return None
jiujiu()1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
參數(shù)詳解python參考資料:headfirst python - 零基礎(chǔ)入門學(xué)習(xí)python(小甲魚)、流暢的python - 習(xí)題
參數(shù)分類普通參數(shù)/位置參數(shù)
默認(rèn)參數(shù)
關(guān)鍵字參數(shù)
收集參數(shù)
普通參數(shù)c參見上例
定義的時(shí)候直接定義變量名
調(diào)用的時(shí)候直接把變量或者值放入指定位置def 函數(shù)名(參數(shù)1,參數(shù)2,.....):
函數(shù)體
# 調(diào)用
函數(shù)名(value1,value2,......)
# 調(diào)用的時(shí)候,具體值參考的是位置,按位置賦值
默認(rèn)參數(shù)形參帶有默認(rèn)值
調(diào)用的時(shí)候,如果沒有對(duì)相應(yīng)形參賦值,則使用默認(rèn)值