事實上伙判,上面的問題等同于將8個蘋果分成四組每組至少一個蘋果有多少種方案碌燕。想到這一點問題的答案就呼之欲出了。
m=int(input('m ='))
n = int(input('n = '))
fm = 1
for num in range(1, m + 1):
? ? ? fm *= num
fn = 1 for num in range(1, n + 1): fn *= num fmn = 1 for num in range(1, m - n + 1): fmn *= num print(fm // fn // fmn)
代碼用函數(shù)重構(gòu):
函數(shù)的參數(shù)
用模塊管理函數(shù)
我們導入的模塊除了定義函數(shù)之外還中有可以執(zhí)行代碼,只有直接執(zhí)行的模塊的名字才是“__main__”霹粥。
減少全局變量的使用就意味著我們應該盡量讓變量的作用域在函數(shù)的內(nèi)部伦腐,但是如果我們希望將一個局部變量的生命周期延長却桶,使其在函數(shù)調(diào)用結(jié)束后依然可以訪問,這時候就需要使用閉包,這個我們在后續(xù)的內(nèi)容中進行講解颖系。