Hi guys! Me again, brainlet here. Assignment: make a Fleet of cars with attributes: producer, model, registration number, etc. Methods for: deleting, adding, showing all, showing last, editing certain. After giving it a bit thought i decided to make it stack of dictionaries. Here is code:
import json
class Fleet:
def __init__(self):
self.items = []
def push(self, new_car):
self.items.append(new_car)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def print_last(self):
print json.dumps(self.items[len(self.items)-1])
def print_all(self):
for i in range(0, len(self.items)):
print json.dumps(self.items[i])
def change_key(self,car, key, value):
car[key] = value
fleet = Fleet()
car1 = {
"registration_number": 12345,
"passangers_number": 3,
"production_year":1990,
"producer": "Mazda",
"model": 2,
"type_of_car": "Sedan" }
car2 = {
"registration_number":44662,
"passangers_number":6,
"production_year":1990,
"producer" : "Toyota",
"model" : 5,
"type_of_car" :"Sedan"
}
fleet.push(car1)
fleet.push(car2)
fleet.change_key(car2, "producer", "Mercedes")
print(fleet.print_last())
print(fleet.print_all())
What would you do better? I certainly would add some constructor for keys, so without writing dict like that
dict = {
"a": "b",
"c":5
}
I would make old, good contructor:
fleet = Fleet("b", 5")
So without writing keys! Is there a way to do this?