9-1 餐館
#9-1 餐館
class Restaurant():
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print(self.restaurant_name)
print(self.cuisine_type)
def open_restaurant(self):
print("餐館正在營業。")
restaurant = Restaurant('KFC','fast food')
print(restaurant.restaurant_name)
print(restaurant.cuisine_type)
restaurant.describe_restaurant()
restaurant.open_restaurant()
9-2 三家餐館
#9-2 三家餐館
class Restaurant():
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print(self.restaurant_name)
print(self.cuisine_type)
def open_restaurant(self):
print("餐館正在營業。")
restaurant1 = Restaurant('KFC','fast food')
restaurant2 = Restaurant('Quanjude','Peking Duck')
restaurant3 = Restaurant('Shaxian County snacks','snacks')
restaurant1.describe_restaurant()
restaurant2.describe_restaurant()
restaurant3.describe_restaurant()
9-3 使用者
#9-3 使用者
class User():
"""存儲并列印使用者資訊與屬性"""
def __init__(self,first_name,last_name,age,city):
self.first_name = first_name
self.last_name = last_name
self.age = str(age)
self.city = city
def describe_user(self):
"""列印使用者資訊摘要。"""
print("User's name is " + self.first_name.title() + " " + self.last_name.title() + ".")
print("User's age is " + self.age + ".")
print("User comes from " + self.city)
def greet_user(self):
"""向使用者發出個性化的問候。"""
print("Hello dear " + self.first_name.title() + " " + self.last_name.title() + "!")
person1 = User('jane','zhang',,'Chengdu')
person2 = User('rosalyn','yu',,'Wuhan')
person3 = User('Stefani Joanne Angelina','Germanotta',,'New York')
User.describe_user(person1)
User.greet_user(person1)
User.describe_user(person2)
User.greet_user(person2)
User.describe_user(person3)
User.greet_user(person3)
9-4 就餐人數
#9-4 就餐人數
class Restaurant():
def __init__(self,restaurant_name,cuisine_type,):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
self.number_served =
def describe_restaurant(self):
print(self.restaurant_name)
print(self.cuisine_type)
print(str(self.number_served) + "人在這裡就餐過。")
def open_restaurant(self):
print("餐館正在營業。")
def set_number_served(self,number):
"""設定就餐人數"""
print("就餐人數:" + str(number) + ".")
def increment_number_served(self,increment_number):
"""将就餐人數遞增"""
self.number_served += increment_number
restaurant = Restaurant('KFC','fast food')
restaurant.describe_restaurant()
restaurant.number_served =
restaurant.describe_restaurant()
restaurant.set_number_served()
restaurant.increment_number_served()
restaurant.describe_restaurant()
9-5 嘗試登陸次數
#9-5 嘗試登陸次數
class User():
"""存儲并列印使用者資訊與屬性"""
def __init__(self,first_name,last_name,age,city,login_attempts):
self.first_name = first_name
self.last_name = last_name
self.age = str(age)
self.city = city
self.login_attempts =
def describe_user(self):
"""列印使用者資訊摘要。"""
print("使用者名:" + self.first_name.title() + " " + self.last_name.title() + ".")
print("年齡:" + self.age + ".")
print("地區:" + self.city)
print("使用者嘗試登入次數:" + str(self.login_attempts))
def greet_user(self):
"""向使用者發出個性化的問候。"""
print("歡迎" + self.first_name.title() + " " + self.last_name.title() + "!")
def increment_login_attempts(self):
self.login_attempts +=
def reset_login_attempts(self):
self.login_attempts =
person = User('jane','zhang',,'Chengdu',)
person.increment_login_attempts()
person.increment_login_attempts()
person.increment_login_attempts()
person.increment_login_attempts()
person.increment_login_attempts()
person.describe_user()
person.reset_login_attempts()
person.describe_user()
9-6 冰淇淋小店
#9-6 冰淇淋小店
class Restaurant():
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print("Restaurant's name is " + self.restaurant_name + ".")
print("Restaurant's cuisine type is " + self.cuisine_type + ".")
def open_restaurant(self):
print("Restaurant is opening.")
class IceCreamStand(Restaurant):
"""冰淇淋小店"""
def __init__(self,restaurant_name,cuisine_type,*flavors):
"""初始化父類的屬性"""
super().__init__(restaurant_name,cuisine_type)
self.flavors = flavors
def describe_flavors(self):
print("The ice cream has follow flavors: ")
for i in self.flavors:
print(i)
ice_cream = IceCreamStand('Haagen-Dazs','ice cream','Vanilla','Strawberry','chocolate')
ice_cream.describe_flavors()
9-7 管理者
#9-7 管理者
class User():
"""存儲并列印使用者資訊與屬性"""
def __init__(self,first_name,last_name,age,city):
self.first_name = first_name
self.last_name = last_name
self.age = str(age)
self.city = city
def describe_user(self):
"""列印使用者資訊摘要。"""
print("User's name is " + self.first_name.title() + " " + self.last_name.title() + ".")
print("User's age is " + self.age + ".")
print("User comes from " + self.city)
def greet_user(self):
"""向使用者發出個性化的問候。"""
print("Hello dear " + self.first_name.title() + " " + self.last_name.title() + "!")
class Admin(User):
def __init__(self,first_name,last_name,age,city,*privileges):
super().__init__(first_name,last_name,age,city)
self.privileges = privileges
def show_privileges(self):
print("管理者的權限如下:")
for i in self.privileges:
print(i)
user = Admin('rosalyn','yu',,'Wuhan','can add post','cab delete post','can ban user')
user.show_privileges()
9-8 權限
#9-8 權限
class User():
"""存儲并列印使用者資訊與屬性"""
def __init__(self,first_name,last_name,age,city):
self.first_name = first_name
self.last_name = last_name
self.age = str(age)
self.city = city
def describe_user(self):
"""列印使用者資訊摘要。"""
print("User's name is " + self.first_name.title() + " " + self.last_name.title() + ".")
print("User's age is " + self.age + ".")
print("User comes from " + self.city)
def greet_user(self):
"""向使用者發出個性化的問候。"""
print("Hello dear " + self.first_name.title() + " " + self.last_name.title() + "!")
class Privileges():
def __init__(self,privileges = ['can add post','cab delete post','can ban user']):
self.privileges = privileges
def show_privileges(self):
print("管理者擁有所有的權限:" )
for j in self.privileges:
print(j)
class Admin(User):
def __init__(self,first_name,last_name,age,city):
super().__init__(first_name,last_name,age,city)
self.privileges = Privileges()
user = Admin('rosalyn','yu',,'wuhan')
user.privileges.show_privileges()
9-9 電瓶更新
#9-9 電瓶更新
class Car():
"""一次模拟汽車的簡單嘗試"""
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
self.odometer_reading =
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
print("This car has " + str(self.odometer_reading) + " miles on it.")
def update_odometer(self,mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self,miles):
self.odometer_reading += miles
class Battery():
"""一次模拟電動汽車電瓶的簡單嘗試"""
def __init__(self,battery_size = ):
"""初始化電瓶的屬性"""
self.battery_size = battery_size
def describe_battery(self):
"""列印一條描述電瓶容量的消息"""
print("This car has a " + str(self.battery_size) + "-KWH battery.")
def get_range(self):
"""列印一條消息,指出電瓶的續航裡程"""
if self.battery_size == :
range =
elif self.battery_size == :
range =
message = "This car can go approximately " + str(range)
message += " miles on a full charge."
print(message)
def upgrade_battery(self):
"""檢查電瓶容量"""
if self.battery_size != :
self.battery_size =
class ElectricCar(Car):
"""電動汽車的獨特之處"""
def __init__(self,make,model,year):
"""初始化父類的屬性,再初始化電動汽車特有的屬性"""
super().__init__(make,model,year)
self.battery = Battery()
user_car = ElectricCar('tesla','model s',)
user_car.battery.get_range()
user_car.battery.upgrade_battery()
user_car.battery.get_range()
9-10 導入Restaurant類
#9-10 導入Restaurant類
from restaurant import Restaurant
my_restaurant = Restaurant('KFC','fast food')
my_restaurant.describe_restaurant()
my_restaurant.open_restaurant()
9-11 導入Admin類
#9-11 導入Admin類
from admin import Admin
users = Admin('rosalyn','yu',,'Wuhan')
users.privileges.show_privileges()
9-12 多個子產品
#9-12 多個子產品
from user import *
from admin import *
users = Admin('rosalyn','yu',,'Wuhan')
users.privileges.show_privileges()
9-13 使用OrderedDict
#9-13 使用OrderedDict
from collections import OrderedDict
dic = OrderedDict()
dic['lower'] = '全部小寫'
dic['sort'] = '永久性排序'
dic['strip'] = '删除首尾空白'
dic['title'] = '首字母大寫'
dic['pop'] = '删除'
dic['min']='最小值'
dic['max']='最大值'
dic['sum']='總和'
dic['insert']='插入元素'
dic['sorted']='臨時排序'
for key,value in dic.items():
print("文法" + key + "的意思是:" + value + "。")
9-14 骰子
#9-14 骰子
from random import randint
class Die():
def __init__(self,sides = ):
self.sides = sides
def roll_die(self):
"""列印位于1和骰子面數之間的随機數"""
x = randint(,self.sides)
print(x)
my_die = Die()
for i in range(,):
i = my_die.roll_die()
print("\n")
my_die = Die()
for i in range(,):
i = my_die.roll_die()
print("\n")
my_die = Die()
for i in range(,):
i = my_die.roll_die()