1. 程式人生 > >課後練習、十六

課後練習、十六

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()