Solutions 4

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Solutions to OOP Practice Problems

# Problem 1
class Circle :
def init ( self , radius ) :
self . radius = radius
self . area = 3.14 * radius * radius
self . circumference = 2 * 3.14 * radius

def d i s p l a y ( s e l f ) : 5
print ( f ” Area : { s e l f . a r e a } ,
Circumference : { s e l f . circum ferenc e }” )

# Problem 2
class Rectangle :
def i n i t ( s e l f , length , breadth ) :
s e l f . length = length
s e l f . breadth = breadth

def a r e a ( s e l f ) :
return s e l f . l e n g t h * s e l f . b r e a d t h

def p e r i m e t e r ( s e l f ) :
return 2 * ( s e l f . l e n g t h + s e l f . b r e a d t h )

def i n c r e a s e ( s e l f , l e n g t h i n c r e a s e , b r e a d t h i n c r e a s e ) :
s e l f . l e n g t h += l e n g t h i n c r e a s e
s e l f . b r e a d t h += b r e a d t h i n c r e a s e

def d e c r e a s e ( s e l f , l e n g t h d e c r e a s e , b r e a d t h d e c r e a s e ) :
s e l f . l e n g t h == l e n g t h d e c r e a s e
s e l f . b r e a d t h == b r e a d t h d e c r e a s e

# Problem 3
c l a s s BankAccount :
def i n i t ( s e l f , owner , b a l a n c e ) :
s e l f . owner = owner
s e l f . balance = balance

def d e p o s i t ( s e l f , amount ) :
s e l f . b a l a n c e += amount

def withdraw ( s e l f , amount ) :

1
i f amount <= s e l f . b a l a n c e :
s e l f . b a l a n c e == amount
else :
print ( ” I n s u f f i c i e n t b a l a n c e ” )

def c h e c k b a l a n c e ( s e l f ) :
return s e l f . b a l a n c e

# Problem 4
c l a s s Student :
def init ( s e l f , name , age , marks ) :
self . name = name
self . age = age
self . marks = marks # marks i s a l i s t o f 3 marks

def d i s p l a y ( s e l f ) :
print ( f ”Name : { s e l f . name } , Age : { s e l f . age } ,
Marks : { s e l f . marks }” )

def t o t a l m a r k s ( s e l f ) :
return sum( s e l f . marks )

def a v e r a g e m a r k s ( s e l f ) :
return sum( s e l f . marks ) / len ( s e l f . marks )

# Problem 5
c l a s s Stack :
def init ( self ):
s e l f . stack = [ ]

def push ( s e l f , item ) :


s e l f . s t a c k . append ( item )

def pop ( s e l f ) :
i f not s e l f . i s e m p t y ( ) :
return s e l f . s t a c k . pop ( )

def peek ( s e l f ) :
i f not s e l f . i s e m p t y ( ) :
return s e l f . s t a c k [ = 1]

def i s e m p t y ( s e l f ) :
return len ( s e l f . s t a c k ) == 0

2
# Problem 6
c l a s s Queue :
def init ( self ):
s e l f . queue = [ ]

def enqueue ( s e l f , item ) :


s e l f . queue . append ( item )

def dequeue ( s e l f ) :
i f not s e l f . i s e m p t y ( ) :
return s e l f . queue . pop ( 0 )

def peek ( s e l f ) :
i f not s e l f . i s e m p t y ( ) :
return s e l f . queue [ 0 ]

def i s e m p t y ( s e l f ) :
return len ( s e l f . queue ) == 0

# Problem 7
c l a s s Book :
def init ( s e l f , t i t l e , author , p r i c e , q u a n t i t y ) :
self . title = title
self . author = author
self . price = price
self . quantity = quantity

def buy ( s e l f , number ) :


i f number <= s e l f . q u a n t i t y :
s e l f . q u a n t i t y == number
else :
print ( ” I n s u f f i c i e n t q u a n t i t y ” )

def s e l l ( s e l f , number ) :
s e l f . q u a n t i t y += number

def d i s p l a y ( s e l f ) :
print ( f ” T i t l e : { s e l f . t i t l e } , Author : { s e l f . a u t h o r } ,
P r i c e : { s e l f . p r i c e } , Quantity : { s e l f . q u a n t i t y } ” )

# Problem 8
from d a t e t i m e import d a t e t i m e

3
c l a s s Car :
def init ( s e l f , brand , model , year , m i l e a g e ) :
self . brand = brand
self . model = model
self . year = year
self . mileage = mileage

def d i s p l a y ( s e l f ) :
print ( f ”Brand : { s e l f . brand } , Model : { s e l f . model } ,
Year : { s e l f . y e a r } , M i l e a g e : { s e l f . m i l e a g e }” )

def i s o l d t i m e r ( s e l f ) :
c u r r e n t y e a r = d a t e t i m e . now ( ) . y e a r
return c u r r e n t y e a r = s e l f . y e a r > 25

You might also like