└── BasicClassMach /BasicClassMach: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | class Vehicle: 4 | def __init__(self, make, model, year): 5 | self.make = make 6 | self.model = model 7 | self.year = year 8 | 9 | def get_info(self): 10 | return f"{self.year} {self.make} {self.model}" 11 | 12 | class Car(Vehicle): 13 | def __init__(self, make, model, year, doors): 14 | super().__init__(make, model, year) 15 | self.doors = doors 16 | 17 | def get_info(self): 18 | return f"{super().get_info()} with {self.doors} doors." 19 | 20 | class Motorcycle(Vehicle): 21 | def __init__(self, make, model, year): 22 | super().__init__(make, model, year) 23 | 24 | def get_info(self): 25 | return f"{super().get_info()} (Motorcycle)" 26 | 27 | class VehicleShowroom: 28 | def __init__(self): 29 | self.vehicles = [] 30 | 31 | def add_vehicle(self, vehicle): 32 | self.vehicles.append(vehicle) 33 | 34 | def sell_vehicle(self, make, model): 35 | for vehicle in self.vehicles: 36 | if vehicle.make == make and vehicle.model == model: 37 | self.vehicles.remove(vehicle) 38 | return vehicle 39 | return None 40 | 41 | def show_vehicles(self): 42 | if not self.vehicles: 43 | return "No vehicles available for sale." 44 | return "\n".join(vehicle.get_info() for vehicle in self.vehicles) 45 | 46 | def simulate_showroom(inventory): 47 | makes = ["Toyota", "Honda", "Harley-Davidson", "Ford", "Chevrolet"] 48 | models = ["Camry", "Civic", "Sportster", "Mustang", "Malibu"] 49 | 50 | for _ in range(10): 51 | make = random.choice(makes) 52 | model = random.choice(models) 53 | year = random.randint(2000, 2023) 54 | if random.choice([True, False]): # Randomly decide whether to create a car or motorcycle 55 | doors = random.choice([2, 4]) 56 | inventory.add_vehicle(Car(make, model, year, doors)) 57 | else: 58 | inventory.add_vehicle(Motorcycle(make, model, year)) 59 | 60 | if __name__ == "__main__": 61 | showroom = VehicleShowroom() 62 | simulate_showroom(showroom) 63 | 64 | print("Available Vehicles for Sale:") 65 | print(showroom.show_vehicles()) 66 | 67 | while True: 68 | make = input("\nEnter the make of the vehicle you want to buy (or 'exit' to quit): ") 69 | if make.lower() == 'exit': 70 | break 71 | model = input("Enter the model of the vehicle you want to buy: ") 72 | sold_vehicle = showroom.sell_vehicle(make, model) 73 | if sold_vehicle: 74 | print(f"You have purchased: {sold_vehicle.get_info()}") 75 | else: 76 | print("Vehicle not found!") 77 | 78 | print("\nThank you for visiting the showroom!") 79 | print("Vehicles left for sale:") 80 | print(showroom.show_vehicles()) 81 | --------------------------------------------------------------------------------