[問題]新手請教更好寫法

作者: zz860619 (Kukuboo)   2018-11-29 21:03:00
各位大大晚安 最近小弟在寫一個小專題
題目簡單說就是分配航段內航班給各個航空公司
譬如我這個航段裡總共有10個航班要分配給2個航空公司
這樣就有可能是(0,10) (1,9)以此類推
航班數跟航空公司小還好說,分配的航空公司一多,想求出每種可能性就要跑半天,不知
道有沒有更快求出的寫法?
以下是目前寫的 a就是當下的可能性
total =4 #總共要分配的航班數
num = 3 #分給幾家航空公司
a = [0 for x in range(num)]
def per (fas_total,air_number,num):
if air_number == 1:
a[num-air_number] = fas_total
print(a)
print("========================")
else:
for i in range(fas_total+1):
a[num-air_number] = i
per(fas_total-i,air_number-1,num)
per(total,num,num)
希望有人可以幫忙我一下,謝謝~
作者: flarehunter (Range)   2018-11-29 21:51:00
如果需要每種組合的話你的做法就最快了但如果只是想算有幾種的話應該有公式解
作者: yoyololicon (蘿莉大好)   2018-11-29 22:38:00
可以用itertoolsㄟ好像不行 當我沒說XD
作者: god145145   2018-11-30 08:26:00
後面還有什麼運算?
作者: TitanEric (泰坦)   2018-11-30 19:24:00
用yield呀 需要的時候再跟他拿
作者: jamfly (jamfly)   2018-12-01 15:48:00
好像大一的程設作業

Links booklink

Contact Us: admin [ a t ] ucptt.com