Question: Python 3.4 Sorting the cars. Please help with this problem to write sort_cars(). class Car: def __init__(self, vin, brand, model, year): self._vin = vin self._brand
Python 3.4 Sorting the cars.
Please help with this problem to write sort_cars().


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)
There is provided database.
if __name__ == '__main__': def reset_car_database(): c01 = Car('XYZ123X', 'Toyota', 'Camry', 2012) c02 = Car('HSY113Y', 'Honda', 'Civic', 2016) c03 = Car('MZJ291E', 'Ford', 'Escape', 2009) c04 = Car('KJD922P', 'Jeep', 'Wrangler', 2011) c05 = Car('TRQ235K', 'Hyundai', 'Sonata', 2017) c06 = Car('JNH47GB', 'Toyota', 'Camry', 2011) c07 = Car('K83JDE3', 'Honda', 'Pilot', 2009) c08 = Car('MCJD83J', 'Hyundai', 'Elantra', 2013) c09 = Car('9EM2JSK', 'Toyota', 'Camry', 2002) c10 = Car('JF83JKS', 'Honda', 'Civic', 2012) c01.add_repair('Broken axle', 2900) c01.add_repair('Punctured tire', 40) c02.add_repair('Cracked windshield', 1000) c04.add_repair('Oil change', 45) c04.add_repair('New clearcoat', 550) c05.add_repair('Punctured tire', 30) c05.add_repair('Cracked windshield', 1000) c06.add_repair('Popped dents', 75) c06.add_repair('Broken headlight', 80) c06.add_repair('Broken taillight', 95) c07.add_repair('Rebuilt engine', 4880) c09.add_repair('Broken headlight', 80) c09.add_repair('Punctured tire', 80) c10.add_repair('Replaced windshield wipers', 125) car_list1 = [c02, c03, c05, c06, c07, c08, c09] car_list2 = [c01, c03, c04, c05, c06, c08, c09, c10] car_list3 = [c03, c04, c08] return car_list1, car_list2, car_list3 Part II: Sorting the Cars (3 points0 Write a function sort-cars that takes a list of Car objects and sorts the list of cars by their total repair costs placing the cars into descending order by total repair cost. In other words, after sorting is done, the first car in the list will be the car with the greatest total repair cost, the second car will be the one with the second-greatest total repair cost, and so on, with the last car being the one with the least total repair cost. If a Car object has never been repaired, then treat its total repair cost as being 0. If two cars cl and c2 have the same total repair costs then their order in the list can be given as cl, C2 or c2, cl. The lesser-known basic sorting algorithm called "gnome sort" will almost get the job done. The algorithm's pseudocode, given below, is already pretty close to real on code. However, this pseudocode will sort a list into ascending order, which is the opposite of what we want. First study the algorithm to make sure you understand the pseudocode, then alter it so that you can use it to sort the the list of cars by total repair cost. Note that this pseudocode contains no return statement, so your Python implementation shouldn't either. procedure gnome sort (a Cl) pos 0 while pos length (a) if (pos 0 or a [pos a [pos-1] then increment pos by 1. otherwise swap a [pos] and a [pos-1] decrement pos by 1
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
