1 from random import randint,choice2 # tesztelési célokra használható az alábbi lista3 4 tomegek=[]5 for i in range(15):6 felsohatar=20 if choice([1,2,3])==1 else 107 tomegek.append(randint(1,felsohatar))8 9 # tomegek=[16, 8, 9, 4, 3, 2, 4, 7, 7, 12, 3, 5, 4, 3, 2] # ez volt a forrásban10 targyak_szama=len(tomegek)11 print('Tömegek:',end=' ')12 [print(tomeg,end=' ') for tomeg in tomegek]13 14 print('\n2. feladat')15 print(f'A tárgyak tömegének összege: {sum(tomegek)} kg')16 17 print('3. feladat')18 dobozok=[]19 egy_doboz=0 # egy doboz üres állapottal "indul"20 for tsz,tomeg in enumerate(tomegek,start=1):21 if egy_doboz+tomeg<=20: # ha az aktuális tárgy beletehető egy dobozba,22 egy_doboz+=tomeg # akkor beletesszük (+)23 else: # ha nem, akkor24 dobozok.append(egy_doboz) # előző dobozt a dobozokba helyezzük és25 egy_doboz=tomeg # az aktuális tárggyal új dobozt kezdünk26 27 # ez a részprobléma sokféleképpen megoldható28 if tsz==targyak_szama: # ha utolsó tárgyról van szó29 dobozok.append(egy_doboz) # akkor az ő dobozát is tegyük a dobozokba30 31 print('A dobozok tartalmának tömege (kg):',end=' ')32 [print(doboz,end=' ') for doboz in dobozok]33 print(f'\nA szükséges dobozok száma: {len(dobozok)}')34 35 36