Define a class, Smartphone, that inherits from Device.
In the Smartphone class, override the use method so that reduces its battery by hours * 7 and adds hours to usage_hours.
Create an instance of Smartphone, call its use method.
class Volume:
def __init__(self, liters):
self.liters = liters
def __add__(self, other):
print('add')
return Volume(self.liters + other.liters)
def __truediv__(self, divisor):
print('div')
return Volume(self.liters / divisor)
v1 = Volume(10)
v2 = Volume(5)
v3 = v1 + v2
v4 = v1 / 2
Given the above script:
| What is the first printed value: | ||
| What is the second printed value: | ||
| What is value of v1.liters: | ||
| What is value of v3.liters: | ||
| What is value of v4.liters: |
Define a class, Car, that inherits from Vehicle.
In the Car class, override the drive method so that it decreases the car's fuel by distance * 0.05 and adds distance to mileage
Create an instance of Car, call its drive and refuel methods, and observe the fuel change.
Define a class, Goat, that inherits from Animal.
In the Goat class, override the __str__ method so that it returns a string with goat's name and energy.
In the Goat class, override the play method so that it decreases the goat's energy by hours * 5
Create an instance of Goat, call its play method, and print the goat.
class Student:
def __init__(self, name, grade, credits):
self.name = name
self.grade = grade
self.credits = credits
self.courses = []
def enroll(self, course):
self.courses.append(course)
class GraduateStudent(Student):
def research(self, hours):
self.credits += hours * 2
class Undergraduate(Student):
def study(self, hours):
self.credits += hours
grad = GraduateStudent("Alice", 90, 30)
undergrad = Undergraduate("Bob", 85, 20)
grad.enroll("ML")
grad.research(5)
undergrad.study(10)
Given the above script, what is value of the following expressions?
| grad.courses[0]: | ||
| grad.credits: | ||
| undergrad.credits: | ||
| undergrad.grade: | ||
| undergrad.courses: |
class Student:
pass
class University:
pass
def register(uni, data):
for grade, names in data.items():
if not names:
continue
for name in names:
st = Student()
st.name, st.grade = name, grade
uni.students.append(st)
def get_student(university, grade):
for st in university.students:
if st.grade == grade:
return st
data = {8: ['Ariana', 'Dafina'], 9: ['Besnik'], 7: []}
university = University()
university.name, university.students = "Ise Boletini", []
register(university, data)
first = get_student(university, 9)
second = get_student(university, 5)
At the end of execution of the above script, what is value of?
| first.name: | ||
| second: |
Complete execution flow of the following program
class Money: def set_info(self, currency, amount): self.currency = currency self.amount = amount def add(self, other): new_money = Money() new_money.set_info(self.currency, self.amount + other.amount) return new_money def subtract(self, other): new_money = Money() new_money.set_info(self.currency, self.amount - other.amount) return new_money def multiply(self, factor): new_money = Money() new_money.set_info(self.currency, self.amount * factor) return new_money def divide(self, divisor): new_money = Money() new_money.set_info(self.currency, self.amount / divisor) return new_money wallet1 = Money() wallet1.set_info("USD", 150) wallet2 = Money() wallet2.set_info("USD", 70) total = wallet1.add(wallet2) remaining = wallet1.subtract(wallet2) total.amount, remaining.amount
Complete execution flow of the following program
class Volume: def __init__(self, liters): self.liters = liters def __add__(self, other): print('add') return Volume(self.liters + other.liters) def __truediv__(self, divisor): print('div') return Volume(self.liters / divisor) v1 = Volume(10) v2 = Volume(5) v3 = v1 + v2 v4 = v1 / 2 v4.liters
add div >>>
class Fighter:
def __init__(self, name, strength, moves):
self.name = name
self.strength = strength
self.moves = moves
self.health = 100
def train(self, new_move):
self.moves.append(new_move)
def punch(self, opponent):
opponent.health -= 5
def grapple(self, opponent):
opponent.health = opponent.health - 5
class Boxer(Fighter):
def punch(self, opponent):
opponent.health -= 10
class Wrestler(Fighter):
def grapple(self, opponent):
opponent.health = opponent.health - 10
fighter = Fighter("Adesanya", 70, ["feint + counter right", "left hook"])
boxer = Boxer("Rocky", 80, ["jab", "cross"])
wrestler = Wrestler("Hulk", 90, ["slam", "suplex", "chokehold"])
fighter.punch(boxer)
boxer.punch(wrestler)
wrestler.punch(fighter)
At the end of execution of the above script, what is value of the following expressions?
| fighter.health: | ||
| boxer.health: | ||
| wrestler.health: |
Complete execution flow of the following program
class Fighter: def __init__(self, name, strength, moves): self.name = name self.strength = strength self.moves = moves self.health = 100 def train(self, new_move): self.moves.append(new_move) def punch(self, opponent): opponent.health = opponent.health - 5 def grapple(self, opponent): opponent.health = opponent.health - 5 class Boxer(Fighter): def punch(self, opponent): opponent.health = opponent.health - 10 class Wrestler(Fighter): def grapple(self, opponent): opponent.health = opponent.health - 10 fighter = Fighter("Adesanya", 70, ["feint + counter right", "left hook"]) boxer = Boxer("Rocky", 80, ["jab", "cross"]) wrestler = Wrestler("Hulk", 90, ["slam", "suplex", "chokehold"]) fighter.punch(boxer) boxer.punch(wrestler) wrestler.punch(fighter)