class Home:
def __init__(self,area):
self.area=area
self.items=[]
def __str__(self):
x="家当前的可用面积为:{}\n".format(self.area)
x+="目前有床:"
#----------
#本应考虑到使用x+=",".join(self.items),但是列表添加的是对象,在遍历的时候join方法不起作用,故采用逐个遍历的笨方法
for item in self.items:
x+=item.name+","
x=x[:-1]
#----------
return x
def additem(self,item):
self.items.append(item)
class Bed:
def __init__(self,name,area):
self.name=name
self.area=area
def __str__(self):
x="{}床的面积为{}".format(self.name,self.area)
return x
home=Home(128)
print(home)
bed1=Bed("席木思",4)
print(bed1)
home.additem(bed1)
print(home)
bed2=Bed("硬板床",3)
print(bed2)
home.additem(bed2)
print(home)
#遍历列表中的元素使之 以字符串带符号隔离 的形式打印出来
#方法1:
# print(",".join(list))
#方法2:
# for i in list:
# x+=i+","
# x=x[:-1]
# print(x)
#列表存储的是地址,通过i[0]可以操作
class Home:
def __init__(self,area):
self.area=area
self.items=[]
def __str__(self):
x="家当前的可用面积为:{}\n".format(self.area)
if len(self.items)!=0:
x+="目前有床:"
#----------
#本应考虑到使用x+=",".join(self.items),但是列表添加的是对象,在遍历的时候join方法不起作用,故采用逐个遍历的笨方法
for item in self.items:
x+=item.name+","
x=x[:-1]
#----------
return x
def additem(self,item):
if self.area>item.area:
self.items.append(item)
self.area-=item.area
else:
print("家空间不足")
class Bed:
def __init__(self,name,area):
self.name=name
self.area=area
def __str__(self):
x="{}床的面积为{}".format(self.name,self.area)
return x
home=Home(128)
bed1=Bed("席木思",4)
home.additem(bed1)
bed2=Bed("硬板床",3)
home.additem(bed2)
print(home)
版权声明:本文为Fever_wolf原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。