Knowee
Questions
Features
Study Tools

Sestavi razred Kvader. Objekt razreda Kvader naj ima lastnosti visina, globina in sirina.Seveda morajo biti vsi trije podatki pozitivni! Globina naj bo nespremenljiva, torej je naknadnone moremo spreminjati, ostali dve količini pa lahko. Če poskusimo kateri koli podatek nastavitina negativno število, sproži izjemo! Razredu dodaj:a) Metodo povrsina, ki vrne površino objekta (kvadra),b) Bralno lastnost ploscina, ki pove ploščino osnovne ploskve kvadra (globina x širina),c) Možnost množenja s pozitivnim celoštevilskim faktorjem (z leve in desne). Pri tem dobimonov kvader, ki ima za faktor večje vse tri mere.Zgled:Primer delovanja in uporabe:>>> kvader1 = Kvader (5 , 10 , 20)>>> print ( kvader1 . povrsina ())700>>> print ( kvader1 . ploscina )200>>> kvader2 = 2 * kvader1>>> print ( kvader2 . visina )10>>> print ( kvader2 . globina )20>>> print ( kvader2 . sirina )40

Question

Sestavi razred Kvader. Objekt razreda Kvader naj ima lastnosti visina, globina in sirina.Seveda morajo biti vsi trije podatki pozitivni! Globina naj bo nespremenljiva, torej je naknadnone moremo spreminjati, ostali dve količini pa lahko. Če poskusimo kateri koli podatek nastavitina negativno število, sproži izjemo! Razredu dodaj:a) Metodo povrsina, ki vrne površino objekta (kvadra),b) Bralno lastnost ploscina, ki pove ploščino osnovne ploskve kvadra (globina x širina),c) Možnost množenja s pozitivnim celoštevilskim faktorjem (z leve in desne). Pri tem dobimonov kvader, ki ima za faktor večje vse tri mere.Zgled:Primer delovanja in uporabe:>>> kvader1 = Kvader (5 , 10 , 20)>>> print ( kvader1 . povrsina ())700>>> print ( kvader1 . ploscina )200>>> kvader2 = 2 * kvader1>>> print ( kvader2 . visina )10>>> print ( kvader2 . globina )20>>> print ( kvader2 . sirina )40

...expand
🧐 Not the exact question you are looking for?Go ask a question

Solution

Razred Kvader lahko sestavimo na naslednji način:

class Kvader:
    def __init__(self, visina, globina, sirina):
        if visina <= 0 or globina <= 0 or sirina <= 0:
            raise ValueError("Vse mere morajo biti pozitivne!")
        self._visina = visina
        self._globina = globina
        self._sirina = sirina

    @property
    def visina(self):
        return self._visina

    @visina.setter
    def visina(self, value):
        if value <= 0:
            raise ValueError("Visina mora biti pozitivna!")
        self._visina = value

    @property
    def globina(self):
        return self._globina

    @property
    def sirina(self):
        return self._sirina

    @sirina.setter
    def sirina(self, value):
        if value <= 0:
            raise ValueError("Sirina mora biti pozitivna!")
        self._sirina = value

    def povrsina(self):
        return 2 * (self.visina * self.globina + self.visina * self.sirina + self.globina * self.sirina)

    @property
    def ploscina(self):
        return self.globina * self.sirina

    def __mul__(self, other):
        if isinstance(other, int) and other > 0:
            return Kvader(self.visina * other, self.globina * other, self.sirina * other)
        else:
            raise ValueError("Kvader lahko množimo samo s pozitivnim celim številom!")

    __rmul__ = __mul__

Ta razred definira kvader z lastnostmi visina, globina in sirina. Globina je nespremenljiva, medtem ko sta visina in sirina lahko spremenljivi. Če poskusimo nastaviti katero koli od teh lastnosti na negativno število, se sproži izjema. Razred vključuje tudi metodo povrsina, ki vrne površino kvadra, in bralno lastnost ploscina, ki vrne ploščino osnovne ploskve kvadra. Kvader lahko množimo s pozitivnim celim številom, kar vrne nov kvader z vsemi merami, pomnoženimi s tem številom.

This problem has been solved

Similar Questions

Sestavi razred Krog. Objekt razreda Krog naj ima lastnosti sredisce in polmer.Razredu dodaj:• metodo ploscina, ki vrne ploščino danega kroga,• bralno lastnost obseg, ki vrne obseg danega kroga,• metodo lega, ki za dana dva kroga izpiše, ali se kroga sekata (imata neprazenpresek), se dotikata ali nimata skupnih točk. Namig: govorimo o krogih in nekrožnicah!>>> a = Krog((0, 0), 5)>>> b = Krog((3,-2), 2)>>> c = Krog((8,-2), 3)>>> a.ploscina()78.53981633974483>>> b.obseg12.566370614359172>>> a.lega(b)"Kroga se sekata">>> a.lega(c)"Kroga nimata skupnih točk">>> b.lega(c)"Kroga se dotikata"

Pri Svetovni kolesarski zvezi (UCI) posodabljajo svoj informacijski sistem. Za lažje upra-vljanje in delo s podatki se odločijo za predstavitev kolesarjev z razredom Tekmovalec, kibo vseboval podatke o imenu in priimku tekmovalca ter ekipi za katero trenutno nastopa.a) [7 T] Sestavite razred Tekmovalec, ki sprejme ime, priimek ter ime ekipe in nastaviustrezne lastnosti ime, priimek in ekipa. Ime in priimek morata vsebovati vsajen znak. Ekipa mora biti ena izmed ekip UAD, TJV, QST, ING, TBV, AFC,GFC, BOH, MOV, BEX, ADR, TIR. Neveljavni podatki naj sprožijo napako tipaValueError kot kaže zgled.b) [3 T] Lastnosti ime in priimek naj ne bo mogoče nastavljati (če to poskusimo, sesproži napaka AttributeError), lastnost ekipa pa lahko posodobimo, saj tekmo-valci ekipo lahko zamenjajo.c) [5 T] Napišite metodi __str__ in __repr__, ki naj ustvarita ustrezni predstavitvitekmovalca, kot kaže zgled na naslednji strani.3Zgled:Ustvarjanje objekta in nastavljanje lastnosti:>>> tekmovalec1 = Tekmovalec ( ’ Tadej ’ , ’ Poga č ar ’ , ’UAD ’)>>> tekmovalec1 . imeTadej>>> tekmovalec1 . priimekPoga č ar>>> tekmovalec1 . ekipaUADIzpis objekta:>>> tekmovalec2 = Tekmovalec ( ’ Primo ž ’, ’ Rogli č ’, ’TJV ’)>>> tekmovalec2Tekmovalec ( ’ Primo ž ’, ’ Rogli č ’, ’TJV ’)>>> print ( tekmovalec2 )Primo ž Rogli č ( TJV )Spreminjanje lastnosti:>>> tekmovalec3 = Tekmovalec ( ’ Matev ž ’, ’ Govekar ’ , ’TIR ’)>>> print ( tekmovalec )Matev ž Govekar ( TIR )>>> tekmovalec3 . ime = ’ Luka ’...AttributeError : can ’ t set attribute ’ime ’>>> tekmovalec3 . ekipa = ’TBV ’>>> print ( tekmovalec3 )Matev ž Govekar ( TBV )Neveljavne vrednosti:>>> tekmovalec4 = Tekmovalec ( ’ ’ , ’ Priimek ’ , ’BEX ’)...ValueError : Ime mora vsebovati vsaj en znak .>>> tekmovalec4 = Tekmovalec (" Jan " , "" , " UAD ")...ValueError : Priimek mora vsebovati vsaj en znak .>>> tekmovalec4 = Tekmovalec (" Jan " , " Tratnik " , " LAL ")...ValueError : LAL ni veljavno ime ekipe

Mišična celica je mnogojedrna in se ne moredeliti. Ob sliki razloži, kateri procesi potekajo vjedru, citoplazmi, mitohondrijih, kje nastajajoaktinski in miozinski filamenti?Opišimakromolekularnosestavo mišične celice(ogljikovi hidrati)!

Izvēlies pareizo atbildi! Latviešu karavīru un viņu ģimenes locekļu organizācija „Daugavas Vanagi" tika dibinātaLietuvāLielbritānijāBeļģijā Par trimdas latviešiem tiek saukti emigrācijā dzīvojošie latvieši, kuru lielākā daļa devās prom no Latvijas Krusta kara beigās.jānē

Sestavi izraze (ne stavke), ki imajo naslednje vrednosti: (če ne znaš sestaviti izraza, lahko zapolovično število točk napišeš zaporedje ukazov, ki poskrbijo, da je v spremenljivki rezultat po-tem ustrezna vrednost). Predpostavi, da so morebitni potrebni moduli uvoženi - če potrebujemomodul m je ta uvožen z ukazom import m.(1) [3 T] Niz, ki vsebuje naključno števko, na primer "4".(2) [3 T] Število različnih znakov v nizu niz. Pri tem ločimo med malimi in velikimi tiskanimičrkami. Za niz = "Ananas", bo to 4.(3) [3 T] Povprečje vseh vrednosti v nepraznem slovarju slovar. Predpostavite, da so vsevrednosti številske.(4) [3 T] Tabelo logičnih vrednosti, ki povejo, ali so istoležni elementi tabele tab_st ne-negativni. Za tab_st = [3, -1, 0, 2], naj ima torej vrednost [True, False, True,True]

1/1

Upgrade your grade with Knowee

Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.