Python 有求和的函數(shù)。如下兩個函數(shù)。其中sum是Python的內(nèi)置函數(shù),fsum是math模塊下的求和函數(shù)
網(wǎng)站的建設(shè)成都創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計體驗(yàn)!已為成都除甲醛等企業(yè)提供專業(yè)服務(wù)。
sum([.1,?.1,?.1,?.1,?.1,?.1,?.1,?.1,?.1,?.1])
0.9999999999999999
fsum([.1,?.1,?.1,?.1,?.1,?.1,?.1,?.1,?.1,?.1])
1.0
如果你要保證算法精度,建議你使用math中的fsum。該算法,會不斷跟蹤運(yùn)算過程的每一步,以此避免運(yùn)算的精度損失,相比較sum而言有更高的精度。
而sum函數(shù)只是求和,也就是簡單的加法運(yùn)算,不關(guān)心精度。如果輸入的列表是字符串列表,sum也能被正確執(zhí)行。
PERMUT 函數(shù)返回從給定數(shù)目的對象集合中選取的若干對象的排列數(shù)。
COMBIN 函數(shù)返回從給定數(shù)目的對象集合中提取若干對象的組合數(shù)。
enumerate(x,y)函數(shù)是把元組tuple、字符串str、列表list里面的元素遍歷和索引組合,其用法與range()函數(shù)很相似,
下面示例enumerate(x,y)用法以及range(x)相似的用法,但是,enumerate(x,y)函數(shù)在遍歷excel等時,可以實(shí)現(xiàn)與人視覺了解到的認(rèn)識更好的理解。
enumerate(x,y)中參數(shù)y可以省略,省略時,默認(rèn)從0開始,
如示例一:
list_words=["this","is","blog","of","white","mouse"]
for idx,word in enumerate(list_words):
print(idx,word)
打印結(jié)果:
使用range()函數(shù)遍歷實(shí)現(xiàn):
list_words=["this","is","blog","of","white","mouse"]
for? i in range(len(list_words)):
print(i,list_words[i])
打印結(jié)果:
自定義開始索引號:
示例二:
list_words=["this","is","blog","of","white","mouse"]
for idx,word in enumerate(list_words[1:],2):#也可以寫成for idx,word in enumerate(list_words,start=2):
print(idx,word)
打印結(jié)果:
從上面示例中可以看出,enumerate(x,y)中x是需要遍歷的元組tuple、字符串str、列表list,可以和切片組合使用,
y是自定義開始的索引號,根據(jù)自己的需要設(shè)置開始索引號。
sum(iterable[, start]) ,iterable為可迭代對象,如:
sum([ ], start) ?, #iterable為list列表。
sum(( ), start ) , #iterable為tuple元組。
最后的值=可迭代對應(yīng)里面的數(shù)相加的值 + start的值
start默認(rèn)為0,如果不寫就是0,為0時可以不寫,即sum()的參數(shù)最多為兩個,其中第一個必須為iterable。
按照慣例,在開發(fā)語言中,sum函數(shù)是求和函數(shù),求多個數(shù)據(jù)的和,而在python中,雖然也是求和函數(shù),但稍微有些差別,sum()傳入的參數(shù)得是可迭代對象(比如列表就是一個可迭代對象),返回這個被傳入可迭代對象內(nèi)參數(shù)的和。
比如:
import math
m = int(input("請輸入第一個數(shù)字:"))
n = int(input("請輸入第二個數(shù)字:"))
if m 0 or n 0 or m - n 0:
print("負(fù)數(shù)是沒有階乘,請重新輸入!")
else:
result = math.factorial(m) / math.factorial(n) / math.factorial(m - n)
print("按照公式C(m, n) = m!/n! /(m - n)!,C({0},{1})的答案為 {2}".format(m, n, result))
定義:集合是多個元素的無序組合
特點(diǎn):集合類型與數(shù)學(xué)中的集合概念一致,幾何元素之間無序、每個元素唯一、不存在相同元素,幾何元素不可更待、不能存在可變數(shù)據(jù)類型。
非可變數(shù)據(jù)類型:整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)、字符串類型、元組類型等
表示:{},元素間用,分隔
建立:{} 或者set{},建立空集合必須使用set{}
舉例:
基本操作符:
增強(qiáng)操作符:
實(shí)例:
A-B
{123}
B-A
{'3','1','2'}
AB
{'p','y'}
A|B
{'1','p','2','y','3',123}
A^B
{'2',123,'3','1'}
p123y
A
set()
1.包含關(guān)系比較:
True
False
2.數(shù)據(jù)去重
{'p','y',123}
['p','y',123]
定義:序列是具有先后關(guān)系的一組元素
特點(diǎn):序列是一維元素向量,元素類型可以不同,元素可以相同:類似數(shù)學(xué)元素序列:元素間有序列引導(dǎo),通過下標(biāo)訪問序列的特定元素
序列是一個基類類型,衍生為:字符串類型、元組類型、列表類型
序號的定義:正向遞增序號、反向遞減序號,與字符串中相似。
['.io',123,'python']
'oi.321nohtyp'
序列類型的通用函數(shù)和方法:
3
'y'
定義:元組類型是序列類型的一種擴(kuò)展,一旦創(chuàng)建就不能修改
形式:元組使用()或者tuple()創(chuàng)建,元素之間用逗號分隔:小括號使不使用都可以。
舉例:
('cat','dog','tiger','human')
(4352,'bule',('cat','dog','tiger','human'))
元組類型繼承序列類型全部通用操作:操作符、處理函數(shù)、處理方法
元組類型創(chuàng)建后不能修改,因此沒有特殊操作
('human','tiger',dog','cat')
'tiger'
定義:列表是序列類型的一種擴(kuò)展,創(chuàng)建后其中的元素可以被隨意修改
使用:[]或者list()創(chuàng)建,元素間可以用逗號隔開,列表中各元素類型可不同,無長度限制
['cat','dog','tiger',1024]
['cat','dog','tiger',1024]
列表類型操作函數(shù)及其方法:
['cat',1,2,3,4,'tiger',1024]
修改列表:
練習(xí):
序列:元組和列表兩種重要類型
應(yīng)用場景:元組用于元素不改變的場景,更多用于固定搭配場景:列表更加靈活,它是最常用的序列類型
作用:表達(dá)一組有序數(shù)據(jù)并且處理問題;數(shù)據(jù)保護(hù)
元素遍歷:
元組類型:
數(shù)據(jù)保護(hù):不希望數(shù)據(jù)被程序所改變,轉(zhuǎn)換成元組類型
('cat',1,2,3,4,'tiger',1024)
基本統(tǒng)計值需求:給出一組數(shù)并且理解
定義:總個數(shù)、求和、平均值、方差、中位數(shù)...
總個數(shù):len()
求和:for...in
平均值:求和/總個數(shù)
方差:各數(shù)據(jù)與平均數(shù)差的平方的和的平均數(shù)
中位數(shù):排序,然后... 奇數(shù)找中間一個,偶數(shù)中間兩個的平均
映射:是一種索引和數(shù)據(jù)的對應(yīng)關(guān)系,也是鍵和值的對應(yīng)關(guān)系。
映射類型:由用戶數(shù)據(jù)為定義索引
字典類型:數(shù)據(jù)的組織與表達(dá)的一種新的形態(tài),是映射的體現(xiàn)。
鍵值對:鍵是數(shù)據(jù)索引的擴(kuò)展,字典是鍵值對的集合,鍵值對間無序。
生成:{}和dict()創(chuàng)建,鍵值對之間用冒號:表示
舉例:{鍵1:值1,鍵2:值2,...,鍵n:值n}
在字典變量中,通過鍵獲得值:
字典變量={鍵1:值1,...,鍵n:值n}
值=字典變量[鍵]
字典變量[鍵]=值
用[]來向字典中增加或者索引鍵值對
舉例:
'北京'
生成空字典:
de={};type(de)
class 'dict'
type(x) 返回變量x的類型
舉例:
True
dict_keys(['中國','美國','法國])
dict_values(['北京','華盛頓','巴黎'])
實(shí)例:
'北京'
'伊斯蘭堡'
('中國','北京')
練習(xí):
1.映射的表達(dá):映射無處不在,鍵值對也無處不在,統(tǒng)計數(shù)據(jù)出現(xiàn)的次數(shù),數(shù)據(jù)是鍵,次數(shù)是值。
字典的主要作用:表達(dá)鍵值對的數(shù)據(jù)進(jìn)而操作他們
2.元素遍歷:
for k in d:
語句塊
定義:jieba庫是優(yōu)秀的第三方中文分詞庫,需要額外安裝
安裝方法:(cmd命令下)pip install jieba
作用:利用中文詞庫確定漢字間的關(guān)聯(lián)概率,字間概率大的組成詞組,形成分詞效果,用戶還可以向其中自定義的添加詞組。
分類:精確模式、全模式、搜索引擎模式
精確模式:將詞組精確的分開,不存在冗余單詞
全模式:將所有可能的詞組都掃描出來,有冗余
搜索引擎模式:在精確模式的基礎(chǔ)上,將長詞再次切分
舉例:
['中國','是','一個','偉大','的','國家']
['中國','國是','一個','偉大','的','國家']
['中華','華人','人民','共和','共和國','中華人民共和國','是','偉大','的']
需求:一篇文章中出現(xiàn)的詞的頻率統(tǒng)計
分類:英文文本,中文文本
舉例:
英文:哈姆雷特(hamlet)
中文:三國演義(threekingdoms)
分享題目:python求組合數(shù)函數(shù) Python求組合
本文路徑:http://jinyejixie.com/article34/hpcpse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、App設(shè)計、ChatGPT、網(wǎng)站設(shè)計、網(wǎng)站策劃、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)