9-1
class Restaurant():
def __init__(self, name, cuisine_type):
self.name = name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print('name:', self.name)
print('type:', self.cuisine_type)
def open_restaurant(self):
print('We are open now!')
my_res = Restaurant('pp', 'chinese food')
my_res.describe_restaurant()
my_res.open_restaurant()
9-3
class User():
def __init__(self, first_name, second_name):
self.first_name = first_name
self.second_name = second_name
def describe(self):
print(self.first_name, self.second_name)
def greet(self):
print('Hello!', self.first_name)
print('Hi there!', self.second_name)
U = User('detective', 'morse')
U.greet()
9-4
class Restaurant():
def __init__(self, name, cuisine_type, number_served = 0):
self.name = name
self.cuisine_type = cuisine_type
self.number_served = number_served
def describe_restaurant(self):
print('name:', self.name)
print('type:', self.cuisine_type)
def open_restaurant(self):
print('We are open now!')
def set_num(self, num):
self.number_served = num
def incre_num(self):
self.number_served += 1
my_res = Restaurant('pp', 'pp')
print(my_res.number_served)
my_res.number_served += 1
print(my_res.number_served)
my_res.incre_num()
print(my_res.number_served)
my_res.set_num(1)
print(my_res.number_served)
9-6
class IceCream(Restaurant):
def __init__(self, flavors, name, cuisine_type, number_served = 0):
super().__init__(name, cuisine_type, number_served = 0)
self.flavors = flavors
def describe(self):
print('name:', self.name)
print('type:', self.cuisine_type)
print('flavors:', self.flavors)
I = IceCream('chocolate', 'pp', 'pp', 1)
I.describe()
9-9
class Car():
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
print("this car has " + str(self.odometer_reading) + 'miles on it')
def update(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("you cannot roll back an odometer")
def incre_odometer(self, miles):
self.odometer_reading += miles
class Battery():
def __init__(self, size = 70):
self.size = size
def describe(self):
print("This car has a" + str(self.size) + '-kwh battery')
def upgrade(self):
if self.size != 85:
self.size = 85
def get_range(self):
if self.size == 70:
range = 240
elif self.size == 85:
range = 270
mess = "This car can go approximately " + str(range) + " miles"
print(mess)
class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
self.battery = Battery()
my_car = ElectricCar('BMW', 'X6', 2018)
print(my_car.get_descriptive_name())
my_car.battery.get_range()
my_car.battery.upgrade()
my_car.battery.get_range()
9-10, 9-11
from car import ElectricCar
from car import Restaurant