Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions Grpa Week 10/question1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
class Calculator:
def __init__(self, a, b):
self.a = a
self.b = b

def add(self):
return self.a + self.b

def multiply(self):
return self.a * self.b

def subtract(self):
return self.a - self.b

def quotient(self):
return self.a // self.b

def remainder(self):
return self.a % self.b
23 changes: 23 additions & 0 deletions Grpa Week 10/question2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
class StringManipulation:
def __init__(self, words):
self.words = words

def total_words(self):
return len(self.words)

def count(self, some_word):
return self.words.count(some_word)

def words_of_length(self, length):
return [word for word in self.words if len(word) == length]

def words_start_with(self, char):
return [word for word in self.words if word.startswith(char)]

def longest_word(self):
if not self.words:
return ""
return max(self.words, key=len)

def palindromes(self):
return [word for word in self.words if word == word[::-1]]
26 changes: 26 additions & 0 deletions Grpa Week 10/question3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class Shape:
def __init__(self, name):
self.name = name
self.area = None
self.perimeter = None

def display(self):
print(f'{self.name} has an area of {self.area} and perimeter of {self.perimeter}')

class Square(Shape):
def __init__(self, side):
# (2) Call base constructor and set name to "Square"
super().__init__("Square")
# (3) Assign side to the attribute
self.side = side
# (4) Call the compute methods
self.compute_area()
self.compute_perimeter()

def compute_area(self):
# (5) Compute area and assign to self.area (inherited from Shape)
self.area = self.side * self.side

def compute_perimeter(self):
# (6) Compute perimeter and assign to self.perimeter (inherited from Shape)
self.perimeter = 4 * self.side
24 changes: 24 additions & 0 deletions Grpa Week 10/question4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class Time:
def __init__(self, time):
self.time = time

def seconds_to_minutes(self):
mins = self.time // 60
secs = self.time % 60
return f"{mins} min {secs} sec"

def seconds_to_hours(self):
hours = self.time // 3600
remaining_secs = self.time % 3600
mins = remaining_secs // 60
secs = remaining_secs % 60
return f"{hours} hrs {mins} min {secs} sec"

def seconds_to_days(self):
days = self.time // 86400 # 24 * 3600
remaining_secs = self.time % 86400
hours = remaining_secs // 3600
remaining_secs %= 3600
mins = remaining_secs // 60
secs = remaining_secs % 60
return f"{days} days {hours} hrs {mins} min {secs} sec"