需求:有一套一室一厅、55平米的房子要装修摆放家具,房子有户型、总面积、剩余面积,家具列表四个属性。家具有占地面积和名称两个属性,家具类的对象有:双人床占地4平米,桌子占地1...

需求:有一套一室一厅、55平米的房子要装修摆放家具,房子有户型、总面积、剩余面积,家具列表四个属性。家具有占地面积和名称两个属性,家具类的对象有:双人床占地4平米,桌子占地1.5平米,衣柜占地2.5平米。将以上家具添加到房子中。

根据需求先创建家具的类和对象:

class HouseItem:

def __init__(self, name, area):

self.name = name

self.area = area

def __str__(self):

return "%s占地%.2f平米" % (self.name, self.area)

bed = HouseItem("双人床", 4)

table = HouseItem("桌子", 1.5)

chest = HouseItem("衣柜", 2.5)

print(bed)

print(table)

print(chest)

结果:

双人床占地4.00平米

桌子占地1.50平米

衣柜占地2.50平米

然后再创建房子来添加家具的对象:

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)

#判断家具面积是否大于剩余面积,若大于则提示不能添加

if item.area > self.free_area:

print("%s占地面积太大,无法添加到房子" % item.name)

return

#添加的家具追加到列表

self.item_list.append(item.name)

#剩余面积=剩余面积-家具面积

self.free_area -= item.area

my_home = House("一室一厅", 55)

my_home.add_item(bed)

my_home.add_item(table)

my_home.add_item(chest)

print(my_home)

展开

python中area是什么意思_Python案例 下面这个代码if item.area self.free_area:中item.area是在哪里定义的呢?...相关推荐

  1. python把数字逐一存入列表_python实现将range()函数生成的数字存储在一个列表中...

    说明 同学的代码中遇到一个数学公式牵扯到将生成指定的数字存储的一个列表中,那个熊孩子忽然懵逼的不会啦,,,给了博主一个表现的机会,,,哈哈哈好嘛,虽然很简单但还是记录一下吧,,,嘿嘿 一 代码 # c ...

  2. python漂亮gui界面模板下载_Python GUI教程(十六):在PyQt5中美化和装扮图形界面...

    在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言.其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式, ...

  3. python中星号怎么打出来_Python打印“菱形”星号代码方法

    本人是一名python初学者,刚刚看到一道有趣的python问题,"用python如何在编译器中打印出菱形图案?" 因此决定尝试一下,代码不多,仅供参考. 代码 def print ...

  4. python读取print输出的内容_Python文件中将print的输出内容重定向到变量中

    有时候需要用到别人的代码, 但是又不想修改别人的文件, 想拿到输出的结果, 这时候就需要使用sys模块, 将print输出的内容重定向到变量中. Python调用sys模块中的sys.stdout, ...

  5. python将字符串写入txt文件_python将字符串以utf-8格式保存在txt文件中的方法

    python将字符串以utf-8格式保存在txt文件中的方法 如下所示: #ltp_data 字符串 写进777.txt 1. def save(filename, contents): fh = o ...

  6. python中uppercase是什么意思_Python string.ascii_uppercase方法代码示例

    本文整理汇总了Python中string.ascii_uppercase方法的典型用法代码示例.如果您正苦于以下问题:Python string.ascii_uppercase方法的具体用法?Pyth ...

  7. python中right是什么意思_Python turtle.right方法代码示例

    本文整理汇总了Python中turtle.right方法的典型用法代码示例.如果您正苦于以下问题:Python turtle.right方法的具体用法?Python turtle.right怎么用?P ...

  8. python中uniform(a、b)_Python stats.uniform方法代码示例

    本文整理汇总了Python中scipy.stats.uniform方法的典型用法代码示例.如果您正苦于以下问题:Python stats.uniform方法的具体用法?Python stats.uni ...

  9. python中uppercase是什么意思_Python string.uppercase方法代码示例

    本文整理汇总了Python中string.uppercase方法的典型用法代码示例.如果您正苦于以下问题:Python string.uppercase方法的具体用法?Python string.up ...

  10. python写一个数据库的界面_Python GUI教程(十四):在PyQt5中使用数据库

    在桌面图像化界面编程中,我们通常需要将一些数据或配置信息存储在本地.在本地进行数据的存储,我们可以直接使用文本文件,比如ini文件.csv文件.json文件等,或者是使用文件型的数据库(比如sqlit ...

最新文章

  1. USACO Training Section 1.1 贪婪的送礼者Greedy Gift Givers
  2. 工作324:uni-时间过滤器封装
  3. mysql安装条款_mysql 安装注意
  4. 邀请合作如何表达_适时表达想法 才有利于彼此的合作
  5. 跟随美国博导12年,我学到最深刻的不是科研,而是这个。。。
  6. Windows系统中通过命令查看文件的MD5,SHA1,SHA256校验值
  7. iptables防火墙工作原理及简单配置访问策略
  8. 清华AI画虾师,想当现代齐白石
  9. PDF软件有这么好用的打印机,你知道吗?
  10. 计算机视觉论文-2021-07-21
  11. 梦想贩卖机v2-1.069
  12. java 模拟登陆人人网_java模拟登陆人人,通过验证码
  13. 记录一次接入Unity IAP Tapjoy 等SDK的过程,坑了一周,快吐血了
  14. Ubuntu 系统备份为ISO
  15. 双十一特辑:Python采集商品数据,实时了解商品价格
  16. SSD系列算法原理讲解----(1)SSD系列算法介绍(主干网络、多尺度Feature Map预测)(笔记)
  17. Linux中EOF用法
  18. 1445. 苹果和桔子
  19. 换手机了,如何将微信聊天记录转移到其他手机上?
  20. 计算机系学天体物理,中科院南京天文光学技术研究所专业介绍:天体物理

热门文章

  1. 【sed 工具的使用】
  2. http 请求中的 referer
  3. redis系列二: linux下安装redis
  4. Hive启动报错: Found class jline.Terminal, but interfac
  5. 跟我一起数据挖掘(22)——spark入门
  6. 针对binlog MIXED格式对表的增删改统计分析
  7. 面向对象基础知识四:关联关系
  8. vi+ctags+cscope联合使用
  9. ipv4反向路由配置
  10. c语言扣血题目,食品分析复习题(改)