Untitled

mail@pastecode.io avatar
unknown
python
2 years ago
2.2 kB
1
Indexable
Never
from abc import ABC, abstractclassmethod
class Clan(ABC):
    __ime_prezime : str
    __jmbg : int
    __visina : float
    __tezina : float

    def __init__(self,ime_prezime,jmbg,visina,tezina):
        __ime_prezime = ime_prezime
        __jmbg = jmbg
        __visina = visina
        __tezina = tezina

    def get_ime_prezime(self):
        return self.__ime_prezime

    def get_jmbg(self):
        return self.__jmbg

    def get_visina(self):
        return self.__visina
    
    def get_tezina(self):
        return self.__tezina

    def set_ime_prezime(self,novo_ime_prezime):
        self.__ime_prezime = novo_ime_prezime

    def set_jmbg(self,novi_jmbg):
        if len(novi_jmbg) == 13:
            self.__jmbg = novi_jmbg
        else:
            print("Greska...")

    def set_visina(self, nova_visina):
        self.__visina = nova_visina
    
    def set_tezina(self, nova_tezina):
        self.__tezina = nova_tezina

    def __str__(self) -> str:
        rez = f"Ime i prezime: {self.__ime_prezime}\n"
        rez += f"JMBG: {self.__jmbg}\n"
        rez += f"Visina: {self.__visina}\n"
        rez += f"Tezina: {self.__tezina}\n"
        return rez

    def BMI(self): 
        visina = self.__visina
        tezina = self.__tezina
        return tezina/visina**2

    def kategorija(self):
        moj_bmi = self.BMI()
        if moj_bmi > 0 and moj_bmi < 18.5:
            return print("Neuhranjenost")
        elif moj_bmi > 18.5 and moj_bmi < 24.9:
            return print("Idealna masa")
        elif moj_bmi > 25 and moj_bmi < 29.9:
            return print("Prekomerna masa")
        else:
            print("Gojaznost")

    @staticmethod
    def clan_sa_najvecim_BMI(lista_clanova):
        trenutni_maksimalni_bmi = lista_clanova[0].BMI()
        for clan in lista_clanova:
            trenutni_bmi = clan.BMI()
            if trenutni_bmi > trenutni_maksimalni_bmi:
                trenutni_maksimalni_bmi = trenutni_bmi
                osoba_sa_najvecim_BMI = clan
        return osoba_sa_najvecim_BMI

'''
    def prekomerna_masa(lista_clanova):
        for clan in lista_clanova:
            if clan.kategorija()'''

c1 = Clan("Pera Peric", 2423532543435, 1.89, 90)
print(c1)