摆放家具
需求:
1)房子有户型,总面积和家具名称列表
新房子没有任何家具
2)家具有名字和占地面积。其中:
床:占4平米
衣柜:占2平米
餐桌:占1.5平米
3)将以上三件家具添加到房子中
4)打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
''' #1、定义一个房子类,属性有:户型、总面积、剩余面积、家具名称列表
#2、定义一个房子类,属性有:家具,占地面积 class Home: def __init__(self,home_type,area):
self.home_type = home_type
self.area = area
self.freearea = area #初始值等于总面积
self.jiaju = [] def __str__(self):
#输出:户型,总面积,剩余面积,家具名称列表
return (' 户型:%s \n 总面积:%.2f \n 剩余面积:%.2f \n 家具名 %s'
%(self.home_type,self.area,self.freearea,self.jiaju)) def add_jiaju(self,itm):
print('要添加%s'%itm)
#判断家具的面积
if itm.area > self.freearea:
print('%s的面积太大,无法添加!'%(itm.name))
return
#将家具的名称添加到列表
self.jiaju.append(itm.name)
#计算剩余面积
self.freearea -=itm.area class jiaju(): def __init__(self,name,area):
self.name = name
self.area = area def __str__(self):
return "[ %s ]:占地 [ %.2f ] 平米"%(self.name,self.area) #创建家具
bed = jiaju("床",4)
chest = jiaju('衣柜',2)
table = jiaju('餐桌',1.5)
print('bed:',bed)
print('bed:',bed.name)
print('bed:',bed.area)
print(chest)
print(table) #创建房子
myhome = Home('三室一厅',100)
myhome.add_jiaju(bed)
myhome.add_jiaju(chest)
myhome.add_jiaju(table)
print(myhome)

  

python3 摆放家具练习的更多相关文章

  1. Python之面向对象编程【小明跑步】、【置办家具】

    #!usr/bin/python 2 #encoding=utf-8 3 #-----------------小明跑步------------- 4 #1.小明体重75.0公斤 5 #2.小明每次跑步 ...

  2. 越狱Season 1-Episode 5: English, Fitz or Percy

    Season 1, Episode 5: English, Fitz or Percy -Pope: I assume this is about your transfer request for ...

  3. python面向对象封装案例(附:is和==的区别)

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对 ...

  4. python-面向对象-04_面向对象封装案例

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对 ...

  5. Go第二篇之基本语法总结

    Go语言标识符 标识符以字母或下划线开头,大小写敏感 _是特殊标识符,用来忽略结果 Go语言变量的声明 变量(Variable)的功能是存储用户的数据.不同的逻辑有不同的对象类型,也就有不同的变量类型 ...

  6. Python面向对象的三大特征 --- 封装、继承、多态

    一.封装 1)封装:是面向对象的一大特点:将属性和方法封装在一个抽象类中.外界使用类创建对象,然后让对象调用内部方法.对象方法的细节都被封装在类的内部. class Person():   def _ ...

  7. 关于Redux到底是个什么鬼

    原文链接:https://zhuanlan.zhihu.com/p/20641377 我们故事的主人公,小明. 小明大学刚毕业,摆脱了宿舍的集体生活,自己在外面租了个一室一厅的小公寓住. 这是客厅的平 ...

  8. hdu---3177 Crixalis's Equipment 根据 两个元素 之间的权衡进行排序

    Crixalis's Equipment Problem Description Crixalis - Sand King used to be a giant scorpion(蝎子) in the ...

  9. 02. Go 语言基本语法

    Go语言基本语法 变量.数据类型和常量是编程中最常见,也是很好理解的概念.本章将从 Go 语言的变量开始,逐步介绍各种数据类型及常量. Go 语言在很多特性上和C语言非常相近.如果读者有C语言基础,那 ...

随机推荐

  1. Java常用工具+类库合集

    1 常用工具 JVisual vm:可以直接通过软件包下载,支持本地以及远程JVM监控 JMH:Java Microbenchmark Harness,测试基准组件,精度可达纳秒级 JITWatch: ...

  2. 1079 Total Sales of Supply Chain

    A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone invo ...

  3. SpringIOC框架简单实现(注解实现)

    SpringIOC框架简单实现(注解实现) 前情回顾 SpringIOE简单介绍 运用注解的方式来实现IOC 首先,让我们来创建一个Dog类 @Component("dog")// ...

  4. 怎样用SQL修改某个字段的部分内容

    方法:update dede_addonarticle set body = replace(body,'#p#分页标题#e#',' ') where body like '%#p#分页标题#e#%'

  5. kali 中文乱码解决

    在命令行输入"dpkg-reconfigure locales".进入图形化界面之后,(空格是选择,Tab是切换,*是选中),选中en_US.UTF-8和zh_CN.UTF-8,确 ...

  6. 网络基础概念(IP、MAC、网关、子网掩码)

    目录 IP地址 MAC地址 网关 子网掩码 反子网掩码 子网掩码 子网划分一: 子网划分二: 子网汇聚 广播域 冲突域 CSMA/CD IP地址 ip地址是用于标识网络中每台设备的标识.目前 IPV4 ...

  7. Wordpress主题编辑器漏洞复现

    Wordpress是全球流行的博客网站,全球有上百万人使用它来搭建博客.他使用PHP脚本和Mysql数据库来搭建网站. 那么,如果当我们在渗透测试过程中获得到了别人Wordpress的账号和密码之后, ...

  8. 8.PHP图像处理

    PHP图像处理 GD2 Jpgraph 创建一个画布: <?php    header('content-type:image/gif');    //echo "你好";  ...

  9. 基于 RTF specification v1.7 的 RTF 文件解析及 OLE 对象提取(使用 Python 开发)

    0x01 Office RTF 文件介绍 RTF 文件也称富文本格式(Rich Text Format, 一般简称为 RTF),意为多文本格式是由微软公司开发的跨平台文档格式.大多数的文字处理软件都能 ...

  10. WindowsPE 第五章 导出表

    导出表 PE中的导出表存在于动态链接库文件里.导出表的主要作用是将PE中存在的函数导出到外部,以便其他人可以使用这些函数,实现代码重用. 5.1导出表的作用 代码重用机制提供了重用代码的动态链接库,它 ...