《Python编程:从入门到实践》 练习 9-1 9-2 9-3

本文介绍了如何使用面向对象编程创建餐馆和用户类,包括初始化属性、描述用户信息和个性化问候的方法。通过具体实例展示了类的创建和方法的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9-1餐馆

创建一个名为Restaurant 的类, 其方法__init__() 设置两个属性: restaurant_name 和cuisine_type 。
创建一个名为describe_restaurant() 的方法和一个名为open_restaurant() 的方法, 其中前者打印前述两项信息, 而后者打印一条消息, 指出餐馆正在营业。

class Restaurant():

    def __init__(self, restaurant_name, cuisine_type):
        """初始化属性name和type"""
        self.name = restaurant_name
        self.type = cuisine_type

    def describe_restaurant(self):
        """打印前两项信息"""
        print("The restaurant name is " + self.name.title() +
              ", and type is " + self.type + ".")

    def open_restaurant(self):
        """餐馆正在营业"""
        print("The restaurant is open now.")

restaurant = Restaurant('WTF', 'nothing')

print(restaurant.name.title())
print(restaurant.type)

restaurant.describe_restaurant()
restaurant.open_restaurant()

运行结果:

Wtf
nothing
The restaurant name is Wtf, and type is nothing.
The restaurant is open now.

9-2三家餐馆

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

class Restaurant():

    def __init__(self, restaurant_name, cuisine_type):
        """初始化属性name和type"""
        self.name = restaurant_name
        self.type = cuisine_type

    def describe_restaurant(self):
        """打印前两项信息"""
        print("The restaurant name is " + self.name.upper() +
              ", and type is " + self.type + ".")

    def open_restaurant(self):
        """餐馆正在营业"""
        print("The restaurant is open now.")

restaurant = Restaurant('WTF', 'nothing')
restaurant_2 = Restaurant('Oops', 'no way')
restaurant_3 = Restaurant('real', 'really')

restaurant.describe_restaurant()
restaurant_2.describe_restaurant()
restaurant_3.describe_restaurant()

运行结果:

The restaurant name is WTF, and type is nothing.
The restaurant name is OOPS, and type is no way.
The restaurant name is REAL, and type is really.

9-3 用户

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

class User():

    def __init__(self, first_name, last_name, age, sex):
        """用户信息"""
        self.name = first_name.title() + ' ' + last_name.title()
        self.age = str(age)
        self.sex = sex

    def describe_user(self):
        """打印用户摘要"""
        print("Name: " + self.name +
              "\nAge: " + self.age +
              "\nSex: " + self.sex
              )

    def greet_user(self):
        """向用户打招呼"""
        if self.sex == 'female':
            print("Hello, my dear " + self.name + "!\n" )
        else:
            print("Hello, " + self.name + ".\n")

me = User('peng', 'yifeng', 18, 'male')

me.describe_user()
me.greet_user()

he = User('aqua', 'man', 35, 'male')

he.describe_user()
he.greet_user()

she = User('atlanna', '', 50, 'female')

she.describe_user()
she.greet_user()

运行结果:

Name: Peng Yifeng
Age: 18
Sex: male
Hello, Peng Yifeng.

Name: Aqua Man
Age: 35
Sex: male
Hello, Aqua Man.

Name: Atlanna 
Age: 50
Sex: female
Hello, my dear Atlanna !
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值