Advertisement
AntonioVillanueva

Herencia 9-9 Upgrade battery Python Crash Cours

Jan 24th, 2019
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.66 KB | None | 0 0
  1. #!/usr/bin/env pytho
  2. """
  3. Herencia
  4. 9-9 Actualización de la batería:
  5. Agregue un método a la clase de la batería llamada upgrade_battery (). Este método
  6. debe verificar el tamaño de la batería y configurar la capacidad en 85 si aún no lo está.
  7.  
  8. Haga un auto eléctrico con un tamaño de batería predeterminado,
  9. llame a get_range () una vez, y uego llame a get_range () por segunda vez después de actualizar la batería.
  10.  Debieras ver un aumento en el rango del coche.
  11. """
  12.            
  13. class Battery():
  14.     """A simple attempt to model a battery for an electric car."""
  15.  
  16.     def __init__(self, battery_size=70):
  17.         """Initialize the battery's attributes."""
  18.         self.battery_size = battery_size
  19.        
  20.     def describe_battery(self):
  21.         """Print a statement describing the battery size."""
  22.         print("This car has a " + str(self.battery_size) + "-kWh battery.")
  23.            
  24.     def get_range(self):
  25.         """Print a statement about the range this battery provides."""
  26.         if self.battery_size == 70:
  27.             range = 240
  28.         elif self.battery_size == 85:
  29.             range = 270
  30.            
  31.         message = "This car can go approximately " + str(range)
  32.         message += " miles on a full charge."
  33.         print(message)         
  34.        
  35.     def upgrade_battery(self):
  36.         """Este método debe verificar el tamaño de la batería y configurar la capacidad en 85 si aún no lo está."""
  37.         print ("Old battery size = "+str (self.battery_size))
  38.         self.battery_size=85
  39.         print ("New battery size = " +str( self.battery_size ) +" upgrade !")
  40.        
  41.  
  42. class Car():
  43.     """A simple attempt to represent a car."""
  44.     def __init__(self, make, model, year):
  45.         self.make = make
  46.         self.model = model
  47.         self.year = year
  48.         self.odometer_reading = 0
  49.        
  50.     def get_descriptive_name(self):
  51.         long_name = str(self.year) + ' ' + self.make + ' ' + self.model
  52.         return long_name.title()
  53.        
  54.     def read_odometer(self):
  55.         print("This car has " + str(self.odometer_reading) + " miles on it.")
  56.        
  57.     def update_odometer(self, mileage):
  58.         if mileage >= self.odometer_reading:
  59.             self.odometer_reading = mileage
  60.         else:
  61.             print("You can't roll back an odometer!")
  62.            
  63.     def increment_odometer(self, miles):
  64.         self.odometer_reading += miles
  65.  
  66.  
  67. class ElectricCar(Car):
  68.     """Represent aspects of a car, specific to electric vehicles."""
  69.  
  70.     def __init__(self, make, model, year):
  71.         """Initialize attributes of the parent class. Then initialize attributes specific to an electric car."""
  72.         super().__init__(make, model, year)
  73.         self.battery = Battery()
  74.  
  75.  
  76.  
  77.  
  78. my_tesla = ElectricCar('tesla', 'model s', 2016)
  79. print(my_tesla.get_descriptive_name())
  80. my_tesla.battery.describe_battery()
  81. my_tesla.battery.get_range()
  82.  
  83. my_tesla.battery.upgrade_battery()
  84.  
  85. my_tesla.battery.get_range()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement