Python 貨物分配問題

2021-10-08 17:23:54 字數 1004 閱讀 7694

我有一堆貨物,重量分別為 :6,6,5,5,5,4,4,4,4,2,2,2,2,3,3,7,7,5,5,8,8,4,4,5我需要把這些貨物,裝入最大重量為 9 的箱子裡面(重量之和小於等於 9 的貨物可以裝到一 個箱子裡面)。請問,我最少需要多少箱子,才能把這些貨物完全裝入進去?

thing = [6, 6, 5, 5, 5, 4, 4, 4, 4, 2, 2, 2, 2, 3, 3, 7, 7, 5, 5, 8, 8, 4, 4, 5]

target = 9

def match(things, sum):

global x # x為裝箱數

x = 0

for i in range(len(things)):

for j in range(i + 1, len(things)):

if things[i] + things[j] == sum:

print([things[i], things[j]])

things[i] = 9

things[j] = 9

x = x + 1

for i in range(len(things)):

for j in range(i + 1, len(things)):

if things[i] + things[j] < sum:

print((things[i], things[j]))

things[i] = 9

things[j] = 9

x = x + 1

for i in range(len(things)):

if things[i] < sum:

print()

x = x + 1

print("共要裝%d箱" % x)

if __name__ == '__main__':

match(thing, target)

當貨物被統計一次後就被賦值為9,之後就不會被重複統計。

python分配問題 Python增加分配問題

對於運算子,python定義了乙個物件可以實現的三個 特殊 方法 add 新增兩個專案 運算子 當你做乙個b時,a的 add 方法用b作為引數來呼叫.radd reflect add 對於b,b的 radd 方法作為乙個例項被呼叫.這僅在不知道如何做新增和兩個物件是不同型別時才使用.iadd 就地新...

最少數量貨物裝箱問題

題目描述 有重量分別為3,5,7公斤的三種貨物,和乙個載重量為x公斤的箱子 不考慮體積等其它因素,只計算重量 需要向箱子內裝滿x公斤的貨物,要求使用的貨物個數盡可能少 三種貨物數量無限 輸入描述 輸入箱子載重量x 1 x 10000 乙個整數。輸出描述 如果無法裝滿,輸出 1。如果可以裝滿,輸出使用...

Python多執行緒 貨物工人模型

為了測試多執行緒效率,我寫了一段貨物工人模型 假如乙個卡車上有20件貨,每件貨有重量,1kg花費1s,2kg花費2s,以此類推,以此模型建立 如下 coding utf 8 import threading import time from random import randint 貨物源 goo...