#1.冰淇淋小店:冰淇淋小店是一种特殊的餐馆。编写一个名为IceCreamStand的类,让它继承
#练习9-4编写的类。添加一个名为flavors的属性,用于存储一个由各种口味的冰淇淋组成的列表
#编写一个显示这些冰淇淋的方法,创建一个IceCreamStand实例,并调用这个方法classRestaurant():
#餐馆的基本信息
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name=restaurant_name
self.cuisine_type=cuisine_type
self.number_served= 0def describe_restaurant(self):
print("The restaurant name:" +self.restaurant_name.title())
print("The restaurant's cuisine type:" +self.cuisine_type.title())
def set_number_served(self,number):
self.number_served=number
print('the restaurant has' + str(self.number_served) +'in it.')
def increment_number_served(self,add_number):for i in range(1,6):
self.number_served+=add_number
print('Day' + str(i) + ':restauranr has' + str(self.number_served) + 'in it')
def open_restaurant(self):
print("The" + self.restaurant_name.title() + "is opening...")classIceCreamStand(Restaurant):
def __init__(self,restaurant_name,cuisine_type):
super().__init__(restaurant_name,cuisine_type)
self.flavors=[]
def show_icecream(self):
self.flavors.append('apple')
self.flavors.append('banana')
self.flavors.append('tea')
print("The kinds of icecream have:",self.flavors)
icecream_list= IceCreamStand('百度饮品','饮品')
icecream_list.show_icecream()
#2.管理员:管理员是一种特殊的用户。编写一个名为Admin的类,让它继承9-5编写的User类
#添加一个名为privileges的属性,用于存储一个由字符串(如"can add post","can delete post")等组成的列表。
#编写一个名为show_privileges()的方法,它显示管理员的权限。创建一个Admin实例。
#并调用这个方法classUser():
#用户的基本信息
def __init__(self,first_name,last_name):
self.first_name=first_name
self.last_name=last_name
self.login_attempts= 0def describe_user(self):
print("The user is :" + self.last_name + ' ' +self.first_name)
def great_user(self):
print("Hello!" + self.last_name.title() + ' ' +self.first_name.title())
def increment_login_attempts(self):
self.login_attempts+= 1def reset_login_attempts(self):
self.login_attempts= 0print("the login number has setd to:" +str(self.login_attempts))classAdmin(User):
def __init__(self,first_name,last_name):
super().__init__(first_name,last_name)
self.privileges=[]
def show_privileges(self):
self.privileges.append("can add user")
self.privileges.append("can ban user")
self.privileges.append("can delete user")
print("The Administrator's privileges:",self.privileges)
administrator= Admin('明','晓')
administrator.show_privileges()
#3.权限:编写一个名为Privileges的类,它只有一个属性——privileges,其中
#存储在2中的字符串列表。将方法show_privileges()移到这个类中。在Admin类中
#将一个Privilege实例用作其属性,创建一个Admin实例,并使用方法show_privileges()来显示其权限classUser():
#用户的基本信息
def __init__(self,first_name,last_name):
self.first_name=first_name
self.last_name=last_name
self.login_attempts= 0def describe_user(self):
print("The user is :" + self.last_name + ' ' +self.first_name)
def great_user(self):
print("Hello!" + self.last_name.title() + ' ' +self.first_name.title())
def increment_login_attempts(self):
self.login_attempts+= 1def reset_login_attempts(self):
self.login_attempts= 0print("the login number has setd to:" +str(self.login_attempts))classPrivilege():
def __init__(self):
self.privileges= ["can add user","can ban user","can delete user"]
def show_privileges(self):
print(self.privileges)classAdmin(User):
def __init__(self,first_name,last_name):
super().__init__(first_name,last_name)
self.privileges=Privilege()
def show_privileges(self):
self.privileges.show_privileges()
admin= Admin('ming','xiao')
admin.show_privileges()
#4.电瓶升级:最本节最后一个electric.py版本中,给Battery类添加一个名为upgrade_battery()方法。
#这个方法检查电瓶容量,如果它不是85,就将设为85.创建一辆电瓶容量默认值的电动汽车,调用方法get_range()
#然后对电瓶进行升级,并再次调用get_range(),你会看到这辆汽车的续航里程增加classCar():"""docstring for Car"""def __init__(self, make,model,year):
self.make=make
self.model=model
self.year=year
self.odometer_reading= 0def get_descriptive_name(self):
long_name= str(self.year) + ' ' + self.make + ' ' +self.modelreturnlong_name
#打印里程消息
def read_odometer(self):
print("This car has" + str(self.odometer_reading) + "miles on it.")
#更新里程数
def update_odometer(self,milegeage):if milegeage >=self.odometer_reading:
self.odometer_reading=milegeageelse:
print("You can't roll back an odometer!")
def increment_odometer(self,miles):
self.odometer_reading+=milesclassBattery():"""docstring for Battery"""def __init__(self, battery_size=70):
self.battery_size=battery_size
def describe_battery(self):
print("This car has a" + str(self.battery_size) + "-kWh battery")
def upgrade_battery(self):if self.battery_size!=85:
self.battery_size= 85def get_range(self):if self.battery_size == 70:
range= 240elif self.battery_size== 85:
range= 270message= "This car can go approximately" +str(range)
message+= "miles on a full charge."print(message)
self.upgrade_battery()classElectricCar(Car):"""docstring for ElectricCar"""def __init__(self, make,model,year):
super().__init__(make,model,year)
self.battery_size=Battery()
def describe_battery(self):
self.battery_size.battery_size()
def get_range(self):
self.battery_size.get_range()
my_tesla= ElectricCar('tesla','model s',2016)
my_tesla.get_range()
my_tesla.get_range()