Python程式設計 從入門到實踐 練習9-4~練習9-5
阿新 • • 發佈:2021-01-08
9-4 就餐人數
# 建立餐館類的例項並呼叫
class Restaurant():
"""一次模擬餐館的簡單嘗試"""
# 新增一個名為number_served的屬性,並將其預設值設定為0
def __init__(self, restaurant_name, cuisine_type):
"""初始化屬性restaurant_name和cuisine_type"""
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
self.number_served = 0
def describe_restaurant(self):
"""列印兩項資訊"""
print("The restaurant's name is " + self.restaurant_name + ".")
print("The cuisine type of the restaurant is " + self.cuisine_type + ".")
def open_restaurant(self):
"""列印一條訊息指出餐館正在營業"""
print("The restaurant is open.")
def set_number_served(self, number):
"""設定就餐人數"""
self.number_served = number
def increment_number_served (self, add):
"""將就餐人數遞增"""
self.number_served += add
# 建立一個例項
my_restaurant = Restaurant('Go Believe', 'steamed stuffed bun')
# 列印多少人就餐過
print(my_restaurant.number_served)
# 修改該值並再次列印
my_restaurant.number_served = 20
print(my_restaurant.number_served)
# 呼叫方法並設定一個值
my_restaurant.set_number_served(30)
print(my_restaurant.number_served)
# 呼叫遞增方法向它傳遞該餐館每天可能接待的就餐人數
my_restaurant.increment_number_served(100)
print(my_restaurant.number_served)
9-5 嘗試登入次數
class User():
"""使用者簡介"""
def __init__(self, first_name, last_name, age, agenda):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.agenda = agenda
self.login_attempts = 0
def describe_user(self):
"""列印使用者的資訊摘要"""
print('User: ' + self.first_name + ' ' + self.last_name)
print('Age: ' + str(self.age))
print('Agenda: ' + self.agenda + '\n')
def greet_user(self):
"""向用戶發出個性化的問候"""
print('Welcome ' + self.first_name.title() + '!\n')
def increment_login_attempts(self):
"""將屬性login_attempts加1"""
self.login_attempts += 1
def reset_login_attempts(self):
"""將屬性login_attempts的值重置為0"""
self.login_attempts = 0
first_user = User('allan', 'poe', 13, 'male')
first_user.increment_login_attempts()
first_user.increment_login_attempts()
print(first_user.login_attempts)
first_user.reset_login_attempts()
print(first_user.login_attempts)
呼叫方法時必須寫括號,不寫括號不會報錯,但是實際上方法並沒有執行。不寫括號輸出為0,0.