一
需求:
1.房子有户型,总面积和家具名称列表
新房子没有任何的家具
2.家具有名字和占地面积,其中
床:占4平米
衣柜:占2平米
餐桌:占1.5平米
3.将以上三件家具添加到房子中
4.打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
class Furniture():
# 初始化方法
def __init__(self,name,area):
self.name = name
self.area = area
def __str__(self):
return '[%s] 占地%.2f' %(self.name,self.area)
class House():
def __init__(self,house_type,area):
self.house_type = house_type
self.area = area
#剩余面积
self.free_area = area
#家具名称列表
self.item_list = []
def __str__(self):
return '户型:%s\n总面积:%.2f[剩余面积:%.2f]\n家具%s'\
% (self.house_type,self.area,self.free_area,self.item_list)
def add_item(self,item):
print ('要添加%s' % item)
# 1.判断家具的面积
if item.area > self.free_area:
print ('%s 的面积太大了,无法添加' % item.name)
# 如果不满足,下方的代码就不执行
return
# 2.将家具的名称添加到列表中
self.item_list.append(item.name)
# 3.计算剩余面积
self.free_area -= item.area
# 创建家具
bed = Furniture('bed',4)
print (bed)
chest = Furniture('chest',2)
print (chest)
table = Furniture('table',2)
print (table)
#创建房子对象
my_home = House('两室一厅',100)
# 添加家具
my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)
print (my_home)
二
模拟进栈.出栈
class Stack():
def __init__(self):
self.stack = []
def push(self,value):#添加元素
self.stack.append(value)
return True
def pop(self):#删除元素
#先判断栈是否为空
if self.stack:
item = self.stack.pop()
return item
else:
return False
def top(self): #查看栈顶元素
if self.stack:
return self.stack[-1]
else:
return False
def length(self):#查看栈长度
return len(self.stack)
def view(self):#查看栈元素
return ','.join(self.stack)
s = Stack()
s.push('1')
s.push('2')
print(s.view())
(1)添加元素
(2)删除元素
s = Stack()
s.push('1')
s.push('2')
item = s.pop()
print(s.view())
(3)查看栈顶元素
s = Stack()
s.push('1')
s.push('2')
item = s.top()
print(item)