#create class called car class Car: def __init__(self,year,make,speed): self.__y
ID: 3572521 • Letter: #
Question
#create class called car
class Car:
def __init__(self,year,make,speed):
self.__year_model=year
self.__make=make
self.__speed=0
#set the arguments for speed,year, and make
def set_year_model(self,year):
self.__year_model=year
def set_make(self,make):
self.__make=make
def set_speed(self,speed):
self.__speed=0
#the returns for speed, year, and make
def get_year_model(self):
return self.__year_model
def get_make(self):
return self.__make
def get_speed(self):
return self.__speed
#methods
def accelerate(self):
self.speed +=5
def brake(self):
self.speed-=5
def get_speed(self):
return self.speed
#actuall program
#create car object
def main():
my_car=Car()
year=print(input('car year: '))
make=print(input('car make: '))
speed= print('Current speed is 0')
#accelerate 5 times
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
my_car.accelerate()
print('My current speed:',my_car.get_speed())
#brake five times
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
my_car.brake()
print('My current speed after brake:',my_car.get_speed())
main()
what is wrong with my code? can you please help me. i am using python. please fix it for me. thank you.
Explanation / Answer
class Car:
# The __init__ method initializes the attributes.
def __init__(self, year_model, make, speed):
self.__year_model = year_model
self.__make = make
self.__speed = speed
# The set_year_model method sets the year_model attribute.
def set_year_model(self, year_model):
self.__year_model = year_model
# The set_ make method sets the make attribute.
def set_make(self, make):
self.__make = make
# The set_speed method sets the speed attribute.
def set_speed(self, speed):
self.__speed = speed
# The get_year_model method returns the year_model attribute.
def get_year_model(self):
return self.__year_model
# The get_make method returns the make attribute.
def get_make(self):
return self.__make
# The accelerate method adds 5 to the speed attribute each time called.
def accelerate(self, speed):
self.__speed += 5
# The brake method subtracts 5 to the speed attribute each time called.
def brake(self, speed):
if self.__speed > 0:
self.__speed -= 5
else:
print('Error: The vehicle is not moving.')
# The get_speed method returns the speed attribute.
def get_speed(self):
return self.__speed
# The __str__ method returns the object's state as a string.
def __str__(self):
return 'Year and Model: ' + self.__year_model +
' Make: ' + self.__make
def main():
# Get user's input for year_model.
year_model = input('Enter the Year and Model of your vehicle: ')
make = input('Enter the Make of your vehicle: ')
speed = 0
# Create a Car object.
car = Car(year_model, make, speed)
# Global constants for menu choices
ACCELERATE = 1
BRAKE = 2
CURRENT = 3
CAR_INFO = 4
QUIT = 5
# Initialize a variable for the user's choice.
choice = 0
# Process menu selections until the user wants to quit.
while choice != QUIT:
# Get the user's menu choice.
choice = int(input("1 = accel, 2 = brake, 3 = current, 4 = car info, 5 = quit: "))
# Process the choice.
if choice == ACCELERATE:
for count in range (1,5):
car.accelerate(speed)
print('Current speed: ' + str(car.get_speed()))
elif choice == BRAKE:
for count in range (1,5):
car.brake(speed)
print('Current speed: ' + str(car.get_speed()))
elif choice == CURRENT:
print('Current speed: ' + str(car.get_speed()))
elif choice == CAR_INFO:
print(car)
if choice == QUIT:
print('End of Program')
main()
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.