Szállítás

Szállítás

szallitas.py

digitális kultúra középszint

1. feladat: Tárgyak tömegének tárolása

Kód:

tomegek = [16, 8, 9, 4, 3, 2, 4, 7, 7, 12, 3, 5, 4, 3, 2]

Magyarázat:

  • A tárgyak tömegét egy listában (tomegek) tároljuk. Minden elem egy tárgy tömegét jelöli.
  • Azért választunk listát, mert így egyszerűen, sorrendben feldolgozhatjuk az adatokat, és számtani műveleteket végezhetünk rajtuk.
  • Például:
  • Az első tárgy tömege: 16 kg.
  • Az utolsó tárgy tömege: 2 kg.

2. feladat: Össztömeg kiszámítása

Kód:

ossztomeg = sum(tomegek)

print(f"A tárgyak tömegének összege: {ossztomeg} kg")

Magyarázat:

  • Az össztömeget a sum() beépített függvénnyel számoljuk ki. Ez a függvény végigmegy a lista elemein, és összeadja őket.
  • Példa számítás:
  • 16 + 8 + 9 + 4 + 3 + 2 + 4 + 7 + 7 + 12 + 3 + 5 + 4 + 3 + 2 = 89
  • Az eredményt egy szöveges üzenettel kiírjuk a képernyőre:
  • "A tárgyak tömegének összege: 89 kg."

3. feladat: Dobozok tartalmának meghatározása

Kód:

dobozok = []

aktualis_doboz = 0

for tomeg in tomegek:

    if aktualis_doboz + tomeg <= 20: # Ha még belefér az aktuális dobozba

        aktualis_doboz += tomeg

    else:

       dobozok.append(aktualis_doboz) # Lezárjuk az aktuális dobozt

aktualis_doboz = tomeg # Új dobozt kezdünk az aktuális tömeggel

if aktualis_doboz > 0:

dobozok.append(aktualis_doboz) # Hozzáadjuk az utolsó dobozt

Magyarázat:

  • dobozok: Egy üres listát hozunk létre, amelybe az egyes dobozok össztömegét tároljuk.
  • aktualis_doboz: Egy változó, amely az éppen csomagolt doboz össztömegét tartja nyilván.
  • Algoritmus:
  • Végigmegyünk a tárgyak listáján.
  • Ha az aktuális tárgy befér az aktuális dobozba (össztömeg ≤ 20 kg):
  • Hozzáadjuk a tömegét az aktuális dobozhoz.
  • Ha nem fér be:
  • Lezárjuk az aktuális dobozt (hozzáadjuk a dobozok listához).
  • Új dobozt kezdünk a tárgy tömegével.
  • Utolsó doboz hozzáadása:
  • A ciklus végén ellenőrizzük, hogy van-e még megmaradt tömeg az utolsó dobozban. Ha igen, azt is hozzáadjuk a dobozok listához.

Kimenet formázása:

print(f"A dobozok tartalmának tömege (kg): {' '.join(map(str, dobozok))}")

print(f"A szükséges dobozok száma: {len(dobozok)}")

  • Dobozok tartalma:
  • A map(str, dobozok) függvény a számokat szöveggé alakítja, hogy kiírhassuk őket.
  • A ' '.join(...) összefűzi a szövegeket egy szóközzel elválasztva.
  • Dobozok száma:
  • A len(dobozok) a listában lévő elemek (dobozok) számát adja meg.
  • Példa kimenet:
  • "A dobozok tartalmának tömege (kg): 16 17 20 19 17"
  • "A szükséges dobozok száma: 5"

Példa:

Input:

Tárgyak tömege:

[16, 8, 9, 4, 3, 2, 4, 7, 7, 12, 3, 5, 4, 3, 2]

Output:

2. feladat

A tárgyak tömegének összege: 89 kg

3. feladat

A dobozok tartalmának tömege (kg): 16 17 20 19 17

A szükséges dobozok száma: 5

tomegek = [16, 8, 9, 4, 3, 2, 4, 7, 7, 12, 3, 5, 4, 3, 2]

print("2. feladat")

ossztomeg = sum(tomegek)

print(f"A tárgyak tömegének összege: {ossztomeg} kg")

print("3. feladat")

dobozok = []

aktualis_doboz = 0

for tomeg in tomegek:

if aktualis_doboz + tomeg <= 20:

     aktualis_doboz += tomeg

else:

     dobozok.append(aktualis_doboz)

     aktualis_doboz = tomeg

if aktualis_doboz > 0:

      dobozok.append(aktualis_doboz)

print(f"A dobozok tartalmának tömege (kg): {' '.join(map(str, dobozok))}")

print(f"A szükséges dobozok száma: {len(dobozok)}")

Vissza