0% au considerat acest document util (0 voturi)
9 vizualizări5 pagini

Lab 7

Documentul prezintă exemple de clase și obiecte în Python. Sunt definite clase precum Clock, Coordonate și intSet, iar cititorul este încurajat să rezolve exerciții de creare și utilizare a obiectelor din aceste clase.
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
9 vizualizări5 pagini

Lab 7

Documentul prezintă exemple de clase și obiecte în Python. Sunt definite clase precum Clock, Coordonate și intSet, iar cititorul este încurajat să rezolve exerciții de creare și utilizare a obiectelor din aceste clase.
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Laborator 7

Obiective:
1. Clase și Obiecte

Verde – Exemple Roșu- Exerciții

A Clase - Exerciții (spyder):


1.a) Definiți clasa adresa care are două atribute : nume_strada și numărul.
b) creați o instanța a clasei

2. Încercați mental (fără să rulați) să aflați rezultatul (tipul de date și valoarea printată)
Creați un fișier Python și verificati rezultatul rulând codul :
a)
class Clock(object):
def __init__(self, time):
[Link] = time
def print_time(self):
time = '6:30'
print([Link])

clock = Clock('5:30')
clock.print_time()

b)
class Clock(object):
def __init__(self, time):
[Link] = time
def print_time(self, time):
print(time)

clock = Clock('5:30')
clock.print_time('10:30')

c)
class Clock(object):
def __init__(self, time):
[Link] = time
def print_time(self):
print([Link])
boston_clock = Clock('5:30')
paris_clock = boston_clock
paris_clock.time = '10:30'
boston_clock.print_time()

boston_clock si paris_clock sunt obiecte diferite?

3.Încercați mental (fără să rulați) să aflați rezultatul (tipul de date și valoarea printată) și
apoi verificați răspunsul. Rezultatele întoarse pot să fie și eroare sau o funcție!
Creați un fișier Python și verificati rezultatul rulând codul :

class Weird(object):
def __init__(self, x, y):
self.y = y
self.x = x
def getX(self):
return x
def getY(self):
return y

class Wild(object):
def __init__(self, x, y):
self.y = y
self.x = x
def getX(self):
return self.x
def getY(self):
return self.y

X=7
Y=8

a)
w1 = Weird(X, Y)
print([Link]())
b)
print([Link]())
c)
w2 = Wild(X, Y)
print([Link]())
d)
print([Link]())
e)
w3 = Wild(17, 18)
print([Link]())
f)
print([Link]())
g)
w4 = Wild(X, 18)
print([Link]())
h)
print([Link]())
i)
X = [Link]() + [Link]() + [Link]()
print(X)
j)
print([Link]())
k)
Y = [Link]() + [Link]()
Y = Y + [Link]()
print(Y)
l)
print([Link]())

B Clase - Exerciții (spyder)


1) Scrieți codul pentru definirea obiectului Coordonate, la fel ca în curs:

class Coordonate(object):
def __init__(self, x, y):
self.x = x
self.y = y

a) adaugați metodele: getX() și getY() pentru a accesa coordonata x,respectiv


coordonata y a obiectului
b) rescrieți metoda __str__ folosind metodele getX() si getY()
c) adaugati metoda __eq__ care returnează True dacă coordonatele se referă la același
punct din planul (adică, au aceeași x și y coordonate).

2) Scrieți codul pentru definirea obiectului intSet, la fel ca în curs.

class intSet(object):
def __init__(self):
[Link] = []
def insert(self, e): # scrieti codul metodei
def member(self, e): # scrieti codul metodei
def remove(self, e): # scrieti codul metodei
def __str__(self): # scrieti codul metodei
a) definiti metoda len() care returnază numarul de elemente din obiectul intSet

b) definiti metodă intersert() care returnează un nou obiect intSet ce conține numerele
întregi care apar în ambele seturi s1 și s2.
Exemplu:
[Link] (s2)

Indicatie! - ce ar trebui să se întâmple dacă și s2 au s1 nici un element în comun ?


Folositi metodele member() si insert()

def intersect(self, other):


# Initializati un nou obiect intSet
# Pentru fiecare valoare din obiect :
# verificati daca fiecare valoare este membra a noului obiect:
# folositi metoda insert() pentru a adauga valoare
# returnati noul obiect
Solutie
B2b)
def intersect(self, other):
# Initializati un nou obiect intSet
newSet = intSet()
# Pentru fiecare valoare din obiect :
for val in [Link]:
# verificati daca fiecare valoare este membra a noului obiect:
if [Link](val):
# folositi metoda insert() pentru a adauga valoare
[Link](val)
# returnati noul obiect
return newSet

S-ar putea să vă placă și