Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Car:
- def __init__(self, name, mileage, fuel):
- self.name = name
- self.mileage = mileage
- self.fuel = fuel
- def drive(self, distance, required_fuel):
- if self.fuel >= required_fuel:
- self.mileage += distance
- self.fuel -= required_fuel
- print(f"{self.name} driven for {distance} kilometers. {required_fuel} liters of fuel consumed.")
- else:
- print("Not enough fuel to make that ride")
- def refuel(self, fuel_amount):
- if self.fuel + fuel_amount > 75:
- refueled = 75 - self.fuel
- self.fuel = 75
- else:
- refueled = fuel_amount
- self.fuel += fuel_amount
- print(f"{self.name} refueled with {refueled} liters")
- def revert(self, kilometers):
- if self.mileage - kilometers < 10000:
- self.mileage = 10000
- else:
- self.mileage -= kilometers
- print(f"{self.name} mileage decreased by {kilometers} kilometers")
- def __str__(self):
- return f"{self.name} -> Mileage: {self.mileage} kms, Fuel in the tank: {self.fuel} lt."
- n = int(input())
- cars = {}
- for _ in range(n):
- car_info = input().split("|")
- car_name, mileage, fuel = car_info[0], int(car_info[1]), int(car_info[2])
- cars[car_name] = Car(car_name, mileage, fuel)
- while True:
- command = input()
- if command == "Stop":
- break
- command_parts = command.split(" : ")
- action, car_name = command_parts[0], command_parts[1]
- if action == "Drive":
- distance, fuel = int(command_parts[2]), int(command_parts[3])
- cars[car_name].drive(distance, fuel)
- if cars[car_name].mileage >= 100000:
- print(f"Time to sell the {car_name}!")
- del cars[car_name]
- elif action == "Refuel":
- fuel_amount = int(command_parts[2])
- cars[car_name].refuel(fuel_amount)
- elif action == "Revert":
- kilometers = int(command_parts[2])
- cars[car_name].revert(kilometers)
- for car in cars.values():
- print(car)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement