# -*- coding: GBK -*-
#9-1
class Restaurant():
def __init__(self,name,cuisine_type):
self.name = name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print(self.name ,self.cuisine_type)
def open_restaurant(self):
print('the',self.name, 'is opening')
restaurant = Restaurant('zct','food')
restaurant.describe_restaurant()
restaurant.open_restaurant()
#9-3
class User():
def __init__(self,first_name,last_name,**user_info):
self.first_name = first_name
self.last_name = last_name
self.user_info = user_info
def greet_user(self):
print('Hello,',self.first_name.title())
def describe_user(self):
print('first_name is ',self.first_name)
print('last_name is ',self.last_name)
for k,v in self.user_info.items():
print(k,'is',v)
user1 = User('xiaoli','li',age=12,sex='F')
user1.describe_user()
user1.greet_user()
#9-4
class Restaurant():
def __init__(self,name,cuisine_type):
self.name = name
self.cuisine_type = cuisine_type
self.number_served = 0
def describe_restaurant(self):
print(self.name ,self.cuisine_type,self.number_served)
def set_number_served(self,served_num):
self.number_served = served_num
def increment_number_served(self,inc_served_num):
self.number_served += inc_served_num
restaurant = Restaurant('zct','food')
restaurant.describe_restaurant()
restaurant.set_number_served(56)
restaurant.describe_restaurant()
restaurant.increment_number_served(12)
restaurant.describe_restaurant()
#9-5
class User():
def __init__(self,first_name,last_name,**user_info):
self.first_name = first_name
self.last_name = last_name
self.login_attempts = 0
self.user_info = user_info
def greet_user(self):
print('Hello,',self.first_name.title())
def describe_user(self):
print('first_name is ',self.first_name)
print('last_name is ',self.last_name)
print('login_attempts is ',self.login_attempts)
for k,v in self.user_info.items():
print(k,'is',v)
def increment_login_attempts(self):
self.login_attempts+=1
def reset_login_attempts(self):
self.login_attempts = 0
user1 = User('xiaoli','li',age=12,sex='F')
user1.describe_user()
user1.increment_login_attempts()
user1.increment_login_attempts()
user1.describe_user()
user1.reset_login_attempts()
user1.describe_user()
#9-6
class IceCreamStand(Restaurant):
def __init__(self,name,cuisine_type,flavors):
super().__init__(name,cuisine_type)
self.flavors = flavors
def show_flavors(self):
for flavor in self.flavors:
print(flavor)
iceCream=IceCreamStand('aa','bb',['aaa','bbb','ccc'])
iceCream.show_flavors()
class User():
def __init__(self,first_name,last_name,**user_info):
self.first_name = first_name
self.last_name = last_name
self.user_info = user_info
def greet_user(self):
print('Hello,',self.first_name.title())
def describe_user(self):
print('first_name is ',self.first_name)
print('last_name is ',self.last_name)
for k,v in self.user_info.items():
print(k,'is',v)
#9-7
class Admin(User):
def __init__(self,first_name,last_name):
super().__init__(first_name,last_name)
self.privileges = ['can add post','can delete post','can ban user']
def show_privileges(self):
for privilege in self.privileges:
print(self.first_name,self.last_name,privilege)
admin = Admin('adminf','adminl')
admin.show_privileges()
#9-8
class Privileges():
def __init__(self):
self.privileges = ['can add post','can delete post','can ban user']
class Admin(User):
def __init__(self,first_name,last_name):
super().__init__(first_name,last_name)
self.privileges = Privileges()
def show_privileges(self):
for privilege in self.privileges.privileges:
print(self.first_name,self.last_name,privilege)
admin = Admin('adminf','adminl')
admin.show_privileges()
#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_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
self.odometer_reading += miles
class 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 get_range(self):
"""打印一条消息,指出电瓶的续航里程"""
if self.battery_size == 70:
range = 240
elif self.battery_size == 85:
range = 270
message = "This car can go approximately " + str(range)
message += " miles on a full charge."
print(message)
def upgrade_battery(self):
"""打印一条描述电瓶容量的消息"""
if self.battery_size!=85:
self.battery_size=85
print("This car upgrade to " + str(self.battery_size) + "-kWh battery.")
class ElectricCar(Car):
"""电动汽车的独特之处"""
def __init__(self, make, model, year):
"""初始化父类的属性,再初始化电动汽车特有的属性"""
super().__init__(make, model, year)
self.battery = Battery()
my_tesla = ElectricCar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())
my_tesla.battery.upgrade_battery()
my_tesla.battery.get_range()
#9-14
from random import randint
class Die():
def __init__(self,sides=6):
self.sides = sides
def roll_die(self):
print(randint(1,self.sides))
die_six = Die(6)
for i in range(10):
die_six.roll_die()
die_ten = Die(10)
for i in range(10):
die_ten.roll_die()
die_20 = Die(20)
for i in range(10):
die_20.roll_die()
《Python 编程:从入门到实践》第九章(类)练习题答案
猜你喜欢
转载自blog.csdn.net/zenmehaichonga_2009/article/details/82801584
今日推荐
周排行