python从入门到实践课后答案第九章_《Python 编程:从入门到实践》第九章(类)练习题答案...

部署运行你感兴趣的模型镜像

# -*- 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

defreset_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()

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值