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
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.
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]
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.