課後練習、十六
阿新 • • 發佈:2019-01-07
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()