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"
Question
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"
Solution
Za rešitev te naloge bomo uporabili Pythonov razred. Najprej bomo definirali razred Krog, ki bo imel lastnosti središče in polmer. Nato bomo dodali metode za izračun ploščine in obsega ter metodo za določanje lege dveh krogov.
import math
class Krog:
def __init__(self, sredisce, polmer):
self.sredisce = sredisce
self.polmer = polmer
def ploscina(self):
return math.pi * self.polmer ** 2
@property
def obseg(self):
return 2 * math.pi * self.polmer
def lega(self, drugi_krog):
razdalja = math.sqrt((self.sredisce[0] - drugi_krog.sredisce[0]) ** 2 + (self.sredisce[1] - drugi_krog.sredisce[1]) ** 2)
if razdalja > self.polmer + drugi_krog.polmer:
return "Kroga nimata skupnih točk"
elif razdalja == self.polmer + drugi_krog.polmer:
return "Kroga se dotikata"
else:
return "Kroga se sekata"
Zgornja koda definira razred Krog, ki ima lastnosti središče in polmer ter metode za izračun ploščine in obsega. Metoda lega pa preverja lego dveh krogov glede na njihova središča in polmere.
Similar Questions
Sestavi funkcijo racun, ki sprejme ime datoteke, ki jo tvori več vrstic. V vsaki vrstici jezapisan (pravilno!) račun. Funkcija naj zapiše te račune skupaj z rezultati na novo dato-teko z imenom rezultati.txt tako, kot kaže zgled. Namig: vrednost izraza, zapisanegakot niz, izračunamo s pomočjo funkcije eval, npr. eval("1 + 3 - 10 * (9 // 5)")vrne -6.Vsebina datoteke "primer1.txt":7 - 83 * 4.51 + 3 - 10 * (9 // 5)>>> racun("primer1.txt")>>>Vsebina datoteke "rezultati.txt":7 - 8 = -13 * 4.5 = 13.51 + 3 - 10 * (9 // 5) = -6
3. NALOGA [12 T]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]
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
Vozač je na javnom putu dužan da uključi sve pokazivače pravca na vozilu: (zaokružiti dva tačna odgovora)pitanje 444 pravila saobraćajakada vrši polukružno okretanje,ako se zaustavi na kolovozu zbog postupanja po saobraćajnom znaku ili pravilu saobraćaja,ako se zaustavi na kolovozu, osim prilikom parkiranja na obeleženom parkingu, odnosno zbog postupanja po saobraćajnom znaku ili pravilu saobraćaja,ako se kreće unazad.
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
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.