Python 3.4 problem question. I have above class and I need to code for function
ID: 3810280 • Letter: P
Question
Python 3.4 problem question.
I have above class and I need to code for function record_repair(cars, vin, repair_desc, repair_cost).
I'm struggling with coding using class so I need help with it.
Part I: Recording a Repair (3 points) Write a function record-repair that records a repair for a car and returns the total cost of all repairs for that car (including the new repair). The function takes four arguments, in this order: cars: a list of Car objects vin: the VIN for the car that we want to record a repair for repair-desc: a description of the repair repair-cost: the cost of the repair (an integer) The function must search the list of Car objects for the car with the given vin, call the add-repair method of the Car class with the given repair desc and repair-cost to record a repair for the car, and then return CSE 101 Spring 2017 Lab #8 Page 2 the new total repair costs for the car. If no Car object is found in the list cars with the given vin, the function should simply return 0 Examples: While looking at the examples in this document, you should have open then provided lab8.py file so that you can see exactly what are the contents of cars1, cars2 and cars 3. Return Value Function Call record repair (carsi, HSY113Y', Punctured tire', 40) 1040 record repair (cars1, MZJ2 91E', Cracked rim' 800) 800 record repair (cars1, XYZ123x', 'Broken mirror', 250) 0Explanation / Answer
class Car:
def __init__(self, vin, brand, model, year):
self._vin = vin
self._brand = brand
self._model = model
self._year = year
self._repairs = []
def add_repair(self, repair_desc, repair_cost):
self._repairs += [Repair(repair_desc, repair_cost)]
def __repr__(self):
return 'VIN: ' + self._vin + ' ' +
' Brand: ' + self._brand + ' ' +
' Model: ' + self._model + ' ' +
' Year: ' + str(self._year) + ' '
class Repair:
def __init__(self, desc, cost):
self._desc = desc
self._cost = cost
def __repr__(self):
return self._desc + ': $' + str(self._cost)
def record_repair(cars, vin, repair_desc, repair_cost):
for num in cars:
if num==vin:
total_cost=Car.add_repair(repair_desc, repair_cost)
return total_cost
else:
return 0
record_repair(cars1, 'HSY113Y', 'Puncture Tyre',40)
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.