程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python擺放家具練習

編輯:Python

需求:

1、房子有戶型,總面積和家具名稱列表
新房子沒有任何的家具
2、家具有名字和占地面積,其中
床:占用4平米
衣櫃:占用2平米
餐桌:占用1.5平米
3、將以上三件家具添加到房子中
4、打印房子時,要求輸出;戶型,總面積、剩余面積、家具名稱列表

分析過程

通過閱讀需求我們發現需求中有兩個類,一個是房子類,一個是家具類,其中 新房子 是房子類的實例化對象,而床、衣櫃、餐桌是家具類的實例化對象,增加家具、打印房子信息是房子類中的函數/方法。

房子類
屬性:
戶型
總面積
剩余面積
家具名稱列表
方法:
添加家具
房子info
家具類:
屬性:
名字
占地面積

代碼展示

# 房子類
class House():
# 構造方法,定義了房子的戶型、總面積的屬性
def __init__(self,huxing,sum_area):
self.huxing = huxing
self.sum_area = sum_area
self.left_area = sum_area # 初始狀態,房子的剩余面積就是房子的總面積
self.f_list = [] # 初始狀態,房子裡的家具是空
# 添加家具的方法
def add_furniture(self, obj): # obj就是添加的家具實例化對象
self.f_list.append(obj.name) # 家具實例化對象的name屬性
print("添加了家具",obj.name)
self.left_area -= obj.area
print("剩余面積:",self.left_area)
# 格式化輸出 - 打印房子信息
def info(self):
print('''房子戶型{}房子總面積{}房子添加了家具{}房子剩余面積{}'''.format(self.huxing,self.sum_area,self.f_list,self.left_area))
# 家具類
class Furniture():
# 構造方法,定義了家具的名字和占地面積
def __init__(self, name, area):
self.name = name
self.area = area
# 房子的實例化對象newH 
newH = House("三室一廳",130)
# 家具的實例化對象bed
bed = Furniture("bed",2)
# 家具的實例化對象desk
desk = Furniture("desk",1.8)
# 家具的實例化對象wardrobe
wardrobe = Furniture("wardrobe",3)
# 將家具添加進去
newH.add_furniture(bed)
newH.add_furniture(desk)
newH.add_furniture(wardrobe)
# 打印房子信息
newH.info()

運行結果


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved