《Python编程:从入门到实践》第九章9.1节课后作业

本文代码是在jupyter中实现的,仅为了自我督促学习python之用。
9-1 餐馆:创建一个名为 Restaurant 的类,其方法 init() 设置两个属性:restaurant_name 和 cuisine_type 。创建一个名为describe_restaurant() 的方法和一个名为open_restaurant() 的方法,其中前者打印前述两项信息,而后者打印一条消息,指出餐馆正在营业。
根据这个类创建一个名为 restaurant 的实例,分别打印其两个属性,再调用前述两个方法。

代码:

class Restaurant():
    """创建一个包含餐厅名称和所售菜系的类"""
    def __init__(self, restaurant_name, cuisine_type):
        """初始化属性restaurant_name和cuisine_type"""
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        
    def describe_restaurant(self):
        """打印餐厅名称和菜品类型"""
        print("This wonderful restaurant is called " + self.restaurant_name.title() + "." )
        print("The restaurant focuses on " + self.cuisine_type.title() + " cuisine.")
        
    def open_restaurant(self):
        """打印‘该餐馆正在营业中......’"""
        print("The restaurant is open now ......")
        
restaurant = Restaurant('width alley', 'sichuan')
print(restaurant.restaurant_name.title() + " , " + restaurant.cuisine_type.title()) # 打印Restaurant类中创建的两个属性
restaurant.describe_restaurant()
restaurant.open_restaurant()

运行结果:

Width Alley , Sichuan
This wonderful restaurant is called Width Alley.
The restaurant focuses on Sichuan cuisine.
The restaurant is open now ......

9-2 三家餐馆:根据你为完成练习 9-1而编写的类创建三个实例,并对每个实例调用方法 describe_restaurant() 。

代码:

class Restaurant():
    """创建一个包含餐厅名称和所售菜系的类"""
    def __init__(self, restaurant_name, cuisine_type):
        """初始化属性restaurant_name和cuisine_type"""
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        
    def describe_restaurant(self):
        """打印餐厅名称和菜品类型"""
        print("This wonderful restaurant is called " + self.restaurant_name.title() + "." )
        print("The restaurant focuses on " + self.cuisine_type.title() + " cuisine.")
        
    def open_restaurant(self):
        """打印‘该餐馆正在营业中......’"""
        print("The restaurant is open now ......")
        

restaurant = Restaurant('Meet Changan', 'sichuan')
restaurant.describe_restaurant()

restaurant = Restaurant('width alley', 'sichuan')
restaurant.describe_restaurant()

restaurant = Restaurant('Fengyuan Xuan', 'Cantonese')
restaurant.describe_restaurant()

运行结果:

This wonderful restaurant is called Meet Changan.
The restaurant focuses on Sichuan cuisine.
This wonderful restaurant is called Width Alley.
The restaurant focuses on Sichuan cuisine.
This wonderful restaurant is called Fengyuan Xuan.
The restaurant focuses on Cantonese cuisine.

9-3 用户:创建一个名为 User 的类,其中包含属性 first_name 和 last_name ,还有用户简介通常会存储的其他几个属性。在类 User 中定义一个名为 describe_user() 的方法,它打印用户信息摘要;再定义一个名为 greet_user() 的方法,它向用户发出个性化的问候。
创建多个表示不同用户的实例,并对每个实例都调用上述两个方法

代码:

class User():
    """创建一个包含用户简介的类"""
    def __init__(self, first_name, last_name, age, gender):
        """初始化属性first_name和last_name,age, gender"""
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.gender = gender
        
    def describe_user(self):
        """打印用户信息摘要"""
        print(self.first_name.title() + " , " + self.last_name.title() + " , " + str(self.age) + " , " +  self.gender.title()) # 打印Restaurant类中创建的两个属性
        
    def greet_user(self):
        """向用户表示问候"""
        print(self.first_name.title() + " " + self.last_name.title() + ", nice to meet you.")
        
user = User('Taylor', 'Swift',31,'female')
user.describe_user()
user.greet_user()

user = User('Jackie', 'chan', 66, 'male')
user.describe_user()
user.greet_user()

运行结果:

Taylor , Swift , 31 , Female
Taylor Swift, nice to meet you.
Jackie , Chan , 66 , Male
Jackie Chan, nice to meet you.

备注:
1)在Python中,首字母大写的名称指的是类。
2)在方法 _ _ init _ _() 的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值