在日常的工作學(xué)習(xí)中,我們肯定會(huì)遇到排列組合問(wèn)題,比如,在5種顏色的球中,任意取3個(gè),共有多少種組合方式,這也包括有放回和無(wú)放回抽樣。
十年的賓川網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整賓川建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“賓川網(wǎng)站設(shè)計(jì)”,“賓川網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
在python中,自帶的排列組合函數(shù),都在python的指導(dǎo)工具包itertools中。
product 笛卡爾積(有放回抽樣排列)
permutations 排列(不放回抽樣排列)
combinations 組合,沒(méi)有重復(fù)(不放回抽樣組合)
combinations_with_replacement 組合,有重復(fù)(有放回抽樣組合)
python3中返回的為對(duì)象,可以通過(guò)迭代讀取將值輸出。
end
itertools.product。
r語(yǔ)言combn函數(shù)是一種排列組合的函數(shù),python中排列組合的函數(shù)是itertools.product(sequence,repeat)。
import math
m = int(input("請(qǐng)輸入第一個(gè)數(shù)字:"))
n = int(input("請(qǐng)輸入第二個(gè)數(shù)字:"))
if m 0 or n 0 or m - n 0:
print("負(fù)數(shù)是沒(méi)有階乘,請(qǐng)重新輸入!")
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))