练习题9-4就餐人数:
在为完成练习9-1而编写的程序中,添加一个名为number_served的属性,并将其默认值设置为0。根据这个类创建一个名为restaurant的实例;打印有多少人在这家餐厅馆就餐过,然后修改这个值并再次打印它。
1.添加一个名为set_number_served()的方法,它让你能够设置就餐的人数。调用这个方法并向它传递一个值,然后再次打印这个值。
2.添加一个名为increment_number_served()的方法,它让你能够将就餐人数递增。调用这个方法并向它传递一个这样的值,你认为这家餐馆每天可能接待的就餐人数。
class Restaurant():
"""创建一个餐厅:描述名字和是否营业"""
def __init__(self, restaurant_name, cuisine_type):
"""初始化餐厅属性"""
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
self.number_served = 0
def describe_restaurant(self):
"""给餐厅起名字以及显示菜单"""
print("餐厅的名字:" + self.restaurant_name)
print("烹饪方法:" + self.cuisine_type)
def open_restaurant(self):
"""餐厅开业"""
print("The " + self.restaurant_name + " is open.")
def set_number_served(self, number):
"""设置就餐的人数"""
self.number_served = number
print("新增就餐的人数是:" + str(self.number_served))
def increment_number_served(self, number):
"""就餐人数递增"""
self.number_served += number
print("累计就餐的人数:" + str(self.number_served))
restaurant_1 = Restaurant('人间美味', '中餐')
print("当前就餐的人数:" + str(restaurant_1.number_served))
restaurant_1.number_served = 1
print("当前就餐的人数:" + str(restaurant_1.number_served))
restaurant_1.set_number_served(2)
restaurant_1.increment_number_served(1)
练习题9-5尝试登陆次数:
在为完成练习9-3而编写的User类中,添加一个名为login_attempts的属性。编写一个名为increment_login_attempts()的方法,它将属性login_attempts的值加1.再编写一个名为reset_login_attempts()的方法,它将属性login_attempts的值重置为0.根据User类创建一个实例,再调用方法increment_login_attempts()多次。打印属性login_attempts的值,确认它被正确地递增,然后,调用方法reset_login_attempts(),并再次打印属性login_attempts的值,确认它被重置为0.
class User():
"""创建用户"""
def __init__(self, first_name, last_name, where_from):
"""初始化用户信息"""
self.first_name = first_name
self.last_name = last_name
self.where_from = where_from
self.login_attempts = 0
def describe_user(self):
"""打印用户信息"""
print("姓:" + self.first_name)
print("名:" + self.last_name)
print("来自:" + self.where_from)
def great_user(self):
"""向用户问好"""
print("你好: " + self.first_name + self.last_name +
" 欢迎你来到Python世界.")
def increment_login_attempts(self, number):
"""登录次数增加"""
self.login_attempts += number
print("登录次数为:" + str(self.login_attempts))
def reset_login_attempts(self):
"""重置登录次数"""
self.login_attempts = 0
print("重置成功,登录次数为:" + str(self.login_attempts))
user_1 = User('张', '三', '中国')
user_1.increment_login_attempts(1)
user_1.increment_login_attempts(1)
user_1.increment_login_attempts(1)
user_1.reset_login_attempts()
print(user_1.login_attempts)