Lapā tiek izmantotas sīkdatnes 

Pakomāti


📝 Uzdevuma apraksts

Izveido programmu, kas modelē pakomāta sūtījumu uzskaites sistēmu.
Katram sūtījumam ir adresāts, svars un izmērs (S, M, L).
Atkarībā no sūtījuma tipa un izmēra mainās tā sūtīšanas cena.

Programmai jāatspoguļo objektorientētās programmēšanas principi:

  • iekapsulēšana
  • pārmantošana
  • abstrakcija
  • polimorfisms

🧱 Klases struktūra

1. Abstraktā klase Sutijums

Atribūti (privāti):

  • adresats – teksta virkne (piemēram, "Jānis Bērziņš")
  • svars – reāls skaitlis (kg)
  • izmers – simbols 'S', 'M' vai 'L'

Metodes:

  • __init__(self, adresats, svars, izmers) – konstruktors
  • aprekinat_cenu(self)abstrakta metode, kuru realizē apakšklasēs
  • __str__(self) – atgriež īsu informāciju par sūtījumu

Pamattarifus nosaka izmērs:

Izmērs Pamatcena (€)
S 2.00
M 4.00
L 6.00

2. Klase ParastsSutijums (pārmanto no Sutijums)

**Cena piemērojama pēc pamatcenas tarifa


3. Klase TrauslsSutijums (pārmanto no Sutijums)

Papildu atribūts: - iepakojuma_maksa – eiro (piem., 2.5)

Cena aprēķināma pēc formulas: pamattcena + iepakojuma_maksa


4. Klase VertigsSutijums (pārmanto no Sutijums)

Papildu atribūts: - vertiba – eiro

Cena aprēķināma pēc formulas: pamatcena + vertiba


5. Klase Pakomats

Atribūti: - sutijumi – saraksts ar visiem sūtījumiem

Metodes: - pievienot_sutijumu(self, sutijums) – pievieno sūtījumu - aprekina_kopējo_cenu(self) – aprēķina visu sūtījumu kopējo cenu - paradit_visus(self) – izvada visu sūtījumu informāciju


💡 Papildu uzdevumi

  1. Pievieno validāciju, kas nepieļauj negatīvu svaru.
  2. Izveido metodi, kas filtrē tikai trauslos sūtījumus.
  3. Pievieno iespēju salīdzināt sūtījumus pēc cenas (__lt__ metode).

🧮 Piemērs (izmantošana)

pakomats = Pakomats()

s1 = ParastsSutijums("Jānis Bērziņš", 2.5, 'M')
s2 = TrauslsSutijums("Anna Kalniņa", 1.0, 'S', 2.0)
s3 = VertigsSutijums("Pēteris Ozols", 0.8, 'L', 300)

pakomats.pievienot_sutijumu(s1)
pakomats.pievienot_sutijumu(s2)
pakomats.pievienot_sutijumu(s3)

pakomats.paradit_visus()
print("Kopējā cena:", pakomats.aprekina_kopējo_cenu(), "€")

🗂️ Iesniegšana

Darbs jāiesniedz GitHub platformā kā publisks repozitorijs ar nosaukumu:

Uzvards_pakomati

Repozitorijā jābūt:

  • vismaz vienam Python failam (piem., pakomati.py) ar realizētajām klasēm;
  • testēšanas piemēram (main() funkcijai vai atsevišķam failam);
  • īsam README.md failam ar programmas aprakstu un izmantošanas piemēru.

TXT failu ar repozitorija URL iesniedz šeit: ej.uz/sutijumuliecte