《Python编程 从入门到实践》第九章课后习题

本文通过多个实例详细介绍了Python中类的定义与使用方法,包括餐厅类、用户类、管理员类等,展示了如何初始化类属性、定义类方法以及实现继承。

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

9-1

class Restaurant():
    def __init__(self, r_name, c_type):
	self.restaurant_name = r_name
	self.cuisine_type = c_type
		
    def describe_restaurant(self):
	print("Restaurant Name: " + self.restaurant_name + "\nCuisine Type: " + self.cuisine_type)
	
    def open_restaurant(self):
	print("The restaurant is open. ")

9-2

class Restaurant():
    def __init__(self, r_name, c_type):
	self.restaurant_name = r_name
	self.cuisine_type = c_type
		
    def describe_restaurant(self):
	print("Restaurant Name: " + self.restaurant_name + "\nCuisine Type: " + self.cuisine_type)
	
    def open_restaurant(self):
	print("The restaurant is open. ")

a = Restaurant("Cattle University", "hot pot")
b = Restaurant("Pizza Hut", "pizza")
c = Restaurant("Yolay Cheers", "drink")

a.describe_restaurant()
b.describe_restaurant()
c.describe_restaurant()

9-3

class User():
    def __init__(self, f_name, l_name):
	self.first_name = f_name
	self.last_name = l_name
		
    def describe_user(self):
	print("first name: " + self.first_name + "\tlast name: " + self.last_name)
	
    def greet_user(self):
	print("Good morning, " + self.first_name + " " + self.last_name + ". ")

a = User("Lelouch", "Lamperouge")
b = User("Makise", "Kurisu")
c = User("Victorique", "De Blois")

a.describe_user()
a.greet_user()
b.describe_user()
b.greet_user()
c.describe_user()
c.greet_user()
9-4
class Restaurant():
    def __init__(self, r_name, c_type, n_served = 0):
        self.restaurant_name = r_name
	self.cuisine_type = c_type
	self.number_served = n_served
		
    def describe_restaurant(self):
	print("Restaurant Name: " + self.restaurant_name + "\nCuisine Type: " + self.cuisine_type)
	
    def open_restaurant(self):
	print("The restaurant is open. ")
	
    def set_number_served(self, num):
	self.number_served = num
	
    def increment_number_served(self, num):
	self.number_served += num

a = Restaurant("Cattle University", "hot pot")
a.set_number_served(50)
print(a.number_served)
a.increment_number_served(30)
print(a.number_served)

9-5

class User():
    def __init__(self, f_name, l_name, l_attempts):
	self.first_name = f_name
	self.last_name = l_name
	self.login_attempts = l_attempts
		
    def describe_user(self):
	print("first name: " + self.first_name + "\tlast name: " + self.last_name)
	
    def greet_user(self):
	print("Good morning, " + self.first_name + " " + self.last_name + ". ")
	
    def increment_login_attempts(self):
	self.login_attempts += 1
		
    def reset_login_attempts(self):
	self.login_attempts = 0

a = User("Lelouch", "Lamperouge", 3)

for n in range(1, 6):
    a.increment_login_attempts()
print(a.login_attempts)

a.reset_login_attempts()
print(a.login_attempts)

9-6

class Restaurant():
    def __init__(self, r_name, c_type):
        self.restaurant_name = r_name
        self.cuisine_type = c_type
		
    def describe_restaurant(self):
        print("Restaurant Name: " + self.restaurant_name + "\nCuisine Type: " + self.cuisine_type)
	
    def open_restaurant(self):
        print("The restaurant is open. ")
	
class IceCreamStand(Restaurant):
    def __init__(self, r_name, c_type, flavors):
        super().__init__(r_name, c_type)
        self.flavors = flavors

    def describe_flavour(self):
        for flavor in self.flavors:
            print(flavor)

a = IceCreamStand("Yang Xiaoxian", "dessert", ['mango', 'watermelon', 'strawberry'])
a.describe_flavour()

9-7

class User():
    def __init__(self, f_name, l_name):
        self.first_name = f_name
        self.last_name = l_name
		
    def describe_user(self):
        print("first name: " + self.first_name + "\tlast name: " + self.last_name)
	
    def greet_user(self):
        print("Good morning, " + self.first_name + " " + self.last_name + ". ")

class Admin(User):
    def __init__(self, f_name, l_name, privileges):
        super().__init__(f_name, l_name)
        self.privileges = privileges
		
    def show_privileges(self):
        for privilege in self.privileges:
            print(privilege)

a = Admin("Lelouch", "Lamperouge", ["can add post", "can delete post", "can ban user"])
a.show_privileges()

9-8

class User():
    def __init__(self, f_name, l_name):
        self.first_name = f_name
        self.last_name = l_name
		
    def describe_user(self):
        print("first name: " + self.first_name + "\tlast name: " + self.last_name)
	
    def greet_user(self):
        print("Good morning, " + self.first_name + " " + self.last_name + ". ")

class Admin(User):
    def __init__(self, f_name, l_name, privileges):
        super().__init__(f_name, l_name)
        self.privileges = privileges
		
class Privileges:
    def __init__(self, privileges):
        self.privileges = privileges
		
    def show_privileges(self):
        for privilege in self.privileges:
            print(privilege)

p = Privileges(["can add post", "can delete post", "can ban user"])
a = Admin("Lelouch", "Lamperouge", p)
a.privileges.show_privileges()

9-10

# restaurant.py
class Restaurant():
    def __init__(self, r_name, c_type):
        self.restaurant_name = r_name
        self.cuisine_type = c_type
		
    def describe_restaurant(self):
        print("Restaurant Name: " + self.restaurant_name + "\nCuisine Type: " + self.cuisine_type)
	
    def open_restaurant(self):
        print("The restaurant is open. ")
from restaurant import Restaurant

r = Restaurant("Cattle University", "hot pot")
r.describe_restaurant()

9-11

# user.py
class User():
    def __init__(self, f_name, l_name):
        self.first_name = f_name
        self.last_name = l_name
		
    def describe_user(self):
        print("first name: " + self.first_name + "\tlast name: " + self.last_name)
	
    def greet_user(self):
        print("Good morning, " + self.first_name + " " + self.last_name + ". ")

class Admin(User):
    def __init__(self, f_name, l_name, privileges):
        super().__init__(f_name, l_name)
        self.privileges = privileges
		
class Privileges:
    def __init__(self, privileges):
        self.privileges = privileges
		
    def show_privileges(self):
        for privilege in self.privileges:
            print(privilege)
from user import Admin
from user import Privileges

p = Privileges(["can add post", "can delete post", "can ban user"])
a = Admin("Lelouch", "Lamperouge", p)
a.privileges.show_privileges()
9-12
# user.py
class User():
    def __init__(self, f_name, l_name):
        self.first_name = f_name
        self.last_name = l_name
		
    def describe_user(self):
        print("first name: " + self.first_name + "\tlast name: " + self.last_name)
	
    def greet_user(self):
        print("Good morning, " + self.first_name + " " + self.last_name + ". ")
# admin.py
from user import User
class Admin(User):
    def __init__(self, f_name, l_name, privileges):
        super().__init__(f_name, l_name)
        self.privileges = privileges
		
class Privileges:
    def __init__(self, privileges):
        self.privileges = privileges
		
    def show_privileges(self):
        for privilege in self.privileges:
            print(privilege)
from admin import Admin
from admin import Privileges

p = Privileges(["can add post", "can delete post", "can ban user"])
a = Admin("Lelouch", "Lamperouge", p)
a.privileges.show_privileges()

9-13

from collections import OrderedDict

vocabulary = OrderedDict()
vocabulary['Victorique'] = "heroine of Gosick"
vocabulary['Lelouch'] = "hero of Code Geass"
vocabulary['Tsunemori'] = "heroine of Psycho-Pass"

for key in vocabulary.keys():
    print(key +": " + vocabulary[key])

9-14

from random import randint

class Die():
    def __init__(self, side = 6):
        self.side = side
	
    def roll_die(self):
        print(randint(1, self.side))

d1 = Die(10)
for n in range(1, 11):
    d1.roll_die()
	
d2 = Die(20)
for n in range(1, 11):
    d2.roll_die()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值