11. Objects
Feel free to use your laptop
You are strongly encourage to work with others
When you get stuck, ask those sitting around you for help
Get used to working together in the labs
Peer teaching and peer learning has been empirically shown to be very effective
11.1. Pre Lab Exercises
11.2. Before Kattis
Create a
Square
classSingle attribute
side_length
The constructor will take a parameter for specifying the size
Method for calculating
area()
Method for calculating the
perimeter()
Make instances of the class and write
assert
tests to verify correctness
Create a
Rectangle
classAttribute for
length
Another attribute for
width
The constructor will take two parameters for specifying the size
Method for calculating
area()
Method for calculating the
perimeter()
Make instances of the class and write
assert
tests to verify correctness
Create a
RectangularPrism
classAttributes for
length
,width
, andheight
The constructor will take three parameters for specifying the size
A method for calculating
surface_area()
A method for calculating
volume()
Make instances of the class and write
assert
tests to verify correctness
Create a
Person
classAttribute for
first_name
Attribute for
last_name
Attribute for
email_address
The constructor will take three parameters for specifying the values of the attributes
A method returning a string of their
full_name()
— e.g.Bob Smith
Make instances of the class and write
assert
tests to verify correctness
Create unittest classes for each of the above classes
Write tests for each of the methods in each class
Be sure to reference the unittest topic
You may find the
Circle
class’unittests helpful
Be sure to remove the
from src.circle import Circle
line
Run the tests with
unittest.main(argv=[''], verbosity=2, exit=False)
Ensure all tests pass
11.3. Kattis Problems
You should be using a scrap piece of paper to work out the ideas for the following problems
The problems you are to solve are getting too complex to try to solve by just coding
Trying to solve problems by just typing away will not yield success