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 三家餐馆
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 用户
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' ,35 ,'Chengdu' )
person2 = User('rosalyn' ,'yu' ,21 ,'Wuhan' )
person3 = User('Stefani Joanne Angelina' ,'Germanotta' ,33 ,'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 就餐人数
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)
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 = 200
restaurant.describe_restaurant()
restaurant.set_number_served(5 )
restaurant.increment_number_served(20 )
restaurant.describe_restaurant()
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 = 0
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 += 1
def reset_login_attempts (self) :
self.login_attempts = 0
person = User('jane' ,'zhang' ,35 ,'Chengdu' ,0 )
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 冰淇淋小店
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 管理员
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' ,21 ,'Wuhan' ,'can add post' ,'cab delete post' ,'can ban user' )
user.show_privileges()
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' ,21 ,'wuhan' )
user.privileges.show_privileges()
9-9 电瓶升级
class Car () :
"""一次模拟汽车的简单尝试"""
def __init__ (self,make,model,year) :
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
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 = 70 ) :
"""初始化电瓶的属性"""
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 == 70 :
range = 240
elif self.battery_size == 85 :
range = 270
message = "This car can go approximately " + str(range)
message += " miles on a full charge."
print(message)
def upgrade_battery (self) :
"""检查电瓶容量"""
if self.battery_size != 85 :
self.battery_size = 85
class ElectricCar (Car) :
"""电动汽车的独特之处"""
def __init__ (self,make,model,year) :
"""初始化父类的属性,再初始化电动汽车特有的属性"""
super().__init__(make,model,year)
self.battery = Battery()
user_car = ElectricCar('tesla' ,'model s' ,2016 )
user_car.battery.get_range()
user_car.battery.upgrade_battery()
user_car.battery.get_range()
9-10 导入Restaurant类
from restaurant import Restaurant
my_restaurant = Restaurant('KFC' ,'fast food' )
my_restaurant.describe_restaurant()
my_restaurant.open_restaurant()
9-11 导入Admin类
from admin import Admin
users = Admin('rosalyn' ,'yu' ,21 ,'Wuhan' )
users.privileges.show_privileges()
9-12 多个模块
from user import *
from admin import *
users = Admin('rosalyn' ,'yu' ,21 ,'Wuhan' )
users.privileges.show_privileges()
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 骰子
from random import randint
class Die () :
def __init__ (self,sides = 6 ) :
self.sides = sides
def roll_die (self) :
"""打印位于1和骰子面数之间的随机数"""
x = randint(1 ,self.sides)
print(x)
my_die = Die()
for i in range(1 ,11 ):
i = my_die.roll_die()
print("\n" )
my_die = Die(10 )
for i in range(1 ,11 ):
i = my_die.roll_die()
print("\n" )
my_die = Die(20 )
for i in range(1 ,11 ):
i = my_die.roll_die()