python3 摆放家具练习
摆放家具
需求:
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 摆放家具练习的更多相关文章
- Python之面向对象编程【小明跑步】、【置办家具】
#!usr/bin/python 2 #encoding=utf-8 3 #-----------------小明跑步------------- 4 #1.小明体重75.0公斤 5 #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 ...
- python面向对象封装案例(附:is和==的区别)
面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对 ...
- python-面向对象-04_面向对象封装案例
面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对 ...
- Go第二篇之基本语法总结
Go语言标识符 标识符以字母或下划线开头,大小写敏感 _是特殊标识符,用来忽略结果 Go语言变量的声明 变量(Variable)的功能是存储用户的数据.不同的逻辑有不同的对象类型,也就有不同的变量类型 ...
- Python面向对象的三大特征 --- 封装、继承、多态
一.封装 1)封装:是面向对象的一大特点:将属性和方法封装在一个抽象类中.外界使用类创建对象,然后让对象调用内部方法.对象方法的细节都被封装在类的内部. class Person(): def _ ...
- 关于Redux到底是个什么鬼
原文链接:https://zhuanlan.zhihu.com/p/20641377 我们故事的主人公,小明. 小明大学刚毕业,摆脱了宿舍的集体生活,自己在外面租了个一室一厅的小公寓住. 这是客厅的平 ...
- hdu---3177 Crixalis's Equipment 根据 两个元素 之间的权衡进行排序
Crixalis's Equipment Problem Description Crixalis - Sand King used to be a giant scorpion(蝎子) in the ...
- 02. Go 语言基本语法
Go语言基本语法 变量.数据类型和常量是编程中最常见,也是很好理解的概念.本章将从 Go 语言的变量开始,逐步介绍各种数据类型及常量. Go 语言在很多特性上和C语言非常相近.如果读者有C语言基础,那 ...
随机推荐
- xctf - stack2
xctf - stack2 文件check一下,几乎全开了 运行一下程序,好像很正常呢: 再来一个大的,好像有点儿问题,变1.00了 在ida中查看,在输入的时候没有检查数据大小 可以通过劫持eip获 ...
- kubernetes node SchedulingDisabled
问题: k8s 集群的节点处于 SchedulingDisabled 解决方案 kubectl patch node NodeName -p "{\"spec\":{\& ...
- 由孙悟空的七十二变看Java设计模式:装饰者模式
目录 应用场景 代码示例 改进代码 装饰者模式 定义 意图 主要解决问题 何时使用 优缺点 孙悟空的七十二变 应用场景 京东.天猫双十一,情人节商品大促销,各种商品有不同的促销活动 满减:满200减5 ...
- 华为应用市场AppGallery Connect正式推出全新LOGO
华为应用市场AppGallery Connect(简称AGC)正式推出全新Logo,新Logo的设计灵感源于编码中的符号<>,两个括号紧密联结成一个正方形,寓意华为应用市场AGC与开发者深 ...
- Printer Queue UVA - 12100
The only printer in the computer science students' union is experiencing an extremely heavy workload ...
- JAVAEE_Servlet_15_HttpServletRequest中常用方法(二)
HttpServletRequest中常用方法 ## HttpServletRequest中的第二类方法 获取各种路径 和 IP地址 * 获取路径和地址 - 获取ServletContext上下文对象 ...
- hdu 2841 Visible Trees(容斥)
原文链接 There are many trees forming a m * n grid, the grid starts from (1,1). Farmer Sherlock is stand ...
- C实现十进制与十六进制转换
include <stdio.h> include <stdlib.h> include <string.h> include <locale.h> i ...
- 路由器逆向分析------MIPS交叉编译环境的搭建(Buildroot)
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/68950682 为了能在我们熟悉的windows或者ubuntu下开发mips架构的 ...
- Linux中的DHCP服务
目录 DHCP DHCP的报文类型 DHCP的部署 DHCP中继(DHCP代理) DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局 ...