[問題860619 (1.164.253.107), 11/30/2018 00:24
各位大大晚安 最近小弟在寫一個小專題
題目簡單說就是分配航段內航班給各個航空公司
譬如我這個航段裡總共有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)
希望有人可以幫忙我一下,謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.253.107
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1543496582.A.137.html
推
11/29 21:51,
5年前
, 1F
11/29 21:51, 1F
→
11/29 21:51,
5年前
, 2F
11/29 21:51, 2F
QQ我需要每種組合因為還要做運算,如果沒辦法只好讓它跑到底了
※ 編輯: zz860619 (1.164.253.107), 11/29/2018 22:32:51
→
11/29 22:38,
5年前
, 3F
11/29 22:38, 3F
→
11/29 22:41,
5年前
, 4F
11/29 22:41, 4F
itertool我也有試過 就利用product跑出所有組合 然後再把數字加起來等於總航班數抓
出來 但是這樣記憶體跑著跑著就爆了QQ 我也不知道有沒有更好的辦法
※ 編輯: zz860619 (1.164.253.107), 11/30/2018 00:25:15
→
11/30 08:26,
5年前
, 5F
11/30 08:26, 5F
就我想把每種可能性的利潤算出來再做比教這樣
※ 編輯: zz860619 (1.164.253.107), 11/30/2018 09:16:10
推
11/30 19:24,
5年前
, 6F
11/30 19:24, 6F
好的,我查看看,謝謝~
※ 編輯: zz860619 (1.164.253.107), 12/01/2018 11:58:43
推
12/01 15:48,
5年前
, 7F
12/01 15:48, 7F