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
Question
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
Solution
Razred Tekmovalec lahko sestavimo na naslednji način:
class Tekmovalec:
veljavne_ekipe = ['UAD', 'TJV', 'QST', 'ING', 'TBV', 'AFC', 'GFC', 'BOH', 'MOV', 'BEX', 'ADR', 'TIR']
def __init__(self, ime, priimek, ekipa):
if not ime:
raise ValueError('Ime mora vsebovati vsaj en znak.')
if not priimek:
raise ValueError('Priimek mora vsebovati vsaj en znak.')
if ekipa not in self.veljavne_ekipe:
raise ValueError(f'{ekipa} ni veljavno ime ekipe.')
self.__ime = ime
self.__priimek = priimek
self.ekipa = ekipa
@property
def ime(self):
return self.__ime
@property
def priimek(self):
return self.__priimek
def __str__(self):
return f'{self.ime} {self.priimek} ({self.ekipa})'
def __repr__(self):
return f'Tekmovalec(\'{self.ime}\', \'{self.priimek}\', \'{self.ekipa}\')'
Ta razred sprejme ime, priimek in ime ekipe ter nastavi ustrezne lastnosti. Če ime ali priimek ne vsebujeta vsaj enega znaka ali če ekipa ni ena izmed veljavnih ekip, se sproži napaka ValueError. Lastnosti ime in priimek nista mogoči za nastavljanje, lastnost ekipa pa je mogoče posodobiti. Metodi str in repr ustvarita ustrezni predstavitvi tekmovalca.
Similar Questions
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]
Koji od sljedećih može poslužiti kao primjer kapitaliziranog izdatka?Pitanje 26Odaberite jedan odgovor:a.Instalacijski troškovi nužni za upotrebu stroja koji je upravo kupljen.b.Sredstva utrošena prošle godine za obnovu zgrade koja bi se mogla koristiti za smještaj novog projekta koji se trenutno procjenjuje.c.Povećanje zaliha potrebno za podršku projektu koji se trenutno provodi.d.Sve navedeno su primjeri kapitaliziranih izdataka.
Kontrola zákazníka nezahrnuje:Vyberte jednu z nabízených možností:a. Přezkoumávání zdrojů peněžních prostředků.b. Prověření případných daňových nedoplatků zákazníka, též formou získání čestného prohlášení.c. Získání informací o účelu a zamýšlené povaze obchodu.
Která ze skutečností je znakem podezřelého obchodu?Vyberte jednu z nabízených možností:a. Zákazník provádí výběry nebo převody na jiné účty bezprostředně po hotovostních vkladech.b. Zákazník na svém účtu provádí pouze hotovostní vklady a výběry.c. Zákazník jednou za měsíc převádí prostředky v hodnotě 50 000 CZK mezi dvěma účty vedenými v ČR.
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
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.