9-4 就餐人数 :在为完成练习9-1而编写的程序中,添加一个名为number_served 的属性,并将其默认值设置为0。根据这个类创建一个名为restaurant 的实 例;打印有多少人在这家餐馆就餐过,然后修改这个值并再次打印它。 添加一个名为set_number_served() 的方法,它让你能够设置就餐人数。调用这个方法并向它传递一个值,然后再次打印这个值。 添加一个名为increment_number_served() 的方法,它让你能够将就餐人数递增。调用这个方法并向它传递一个这样的值:你认为这家餐馆每天可能接待的就 餐人数。
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。
要点:类里for 和while的运用,添加初始值的方法。
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,':' ,self.cuisine_type)
def open_retaurant(self):
print('It opening')
def set_number_served(self, number): # 方法设置就餐人数。
self.number_served = number
def increment_number_served(self,number): # 执行条件判断,进行数值递增。
while self.number_served < number:
print(self.number_served)
self.number_served += 1
restaurant = Restaurant('A', 'B')
restaurant.describe_restaurant()
restaurant.open_retaurant()
restaurant.set_number_served(10)
restaurant.increment_number_served(12) # 座位数量上限。
# *****************************************
class User(): # 此练习巩固对类的理解。
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
self.login_attempts = 0
def describe_user(self):
print(self.first_name, self.last_name)
def greet_user(self):
print('Welcome')
def increment_login_attempts(self):
self.login_attempts += 1
def reset_login_attempts(self):
re = self.login_attempts = 0
print(re)
user = User('A','B')
user.describe_user()
user.greet_user()
for i in range(7):
user.increment_login_attempts()
print(user.login_attempts)
user.reset_login_attempts()