#!usr/bin/python
2 #encoding=utf-8
3 #-----------------小明跑步-------------
4 #1.小明体重75.0公斤
5 #2.小明每次跑步会减肥0.5公斤
6 #3.小明每次吃东西体重会增加1公斤
7
8
9 class Person(object):
10 def __init__(self, name, weight):
11 self.weight = weight
12 self.name = name
13 def __str__(self):
14 msg = self.name + " 的体重为: " + str(self.weight) + " KG"
15 return msg
16 def run(self, num):
17 self.weight -= 0.5 * num # num表示对象跑步的次数
18 def eat(self, num):
19 self.weight += num # num表示对象吃东西的次数
20
21 xiaoming = Person('xiaoming',75.0)
22 #print ("小明原始体重为: %f"%xiaoming.weight)
23 print(xiaoming)
24 print("--------------------------------------------")
25 xiaoming.run(4)
26 print(xiaoming)
27 print("--------------------------------------------")
28 xiaoming.eat(1)
29 print(xiaoming)

2. 放置家具:

实现输出房间总面积,剩余面积,家里家具列表。

#!usr/bin/python
2 #encoding=utf-8
3 #-------------------------摆放家具---------------------------
4 # 1. 房子有总面积、家具,新房子没有任何家具
5 # 2. 家具有名字和占地面积,需要把家具添加到房子里
6 # 3. 打印房子时,需要输出:房子总面积、剩余面积、家具列表
7
8 #定义房间类
9 class House():
10 flag = 0
11 def __init__(self, area):
12 self.area = area
13 self.remidArea = area
14 self.furniture = [] #房子里家具列表
15 def __str__(self):
16 msg = "房子的总面积为:" + str(self.area) + "平方。"
20 msg = msg + "\n家的剩余面积为:" + str(self.remidArea) + " 平方。\n家里的家具有:"
21 for temp in self.furniture:
22 msg += temp.name + ","
23 msg = msg.strip(",") + "。"
24 return msg 26
27 #定义函数:添加家具到房子
28 def AddFurni(self, item):
29 global flag
30 print("购买了家具:%s,占地面积:%s 平方。"%(item.name,item.area))
if self.remidArea >= item.area :
32 self.furniture.append(item)
33 self.remidArea -= item.area
34
35 else:
36 # flag =1
37 print ("房子面积不足以容纳该家具!")
42
43 #定义家具类
44 class Furniture():
45 def __init__(self, name, area):
46 self.name = name #家具名称
47 self.area = area
48
49 print("----------------------第一次------------------------")
50 myHouse = House(160)
51 bed = Furniture("床",25)
52 myHouse.AddFurni(bed)
53 print(myHouse)
54 print("----------------------第二次------------------------")
55 desk = Furniture("书桌",5)
56 myHouse.AddFurni(desk)
57 print(myHouse)
58 print("----------------------第三次------------------------")
59 sofa = Furniture("沙发",100)
myHouse.AddFurni(sofa)
61 print(myHouse)
62 print("----------------------第四次------------------------")
63 fridge = Furniture("冰箱",50)
64 myHouse.AddFurni(fridge)

Python之面向对象编程【小明跑步】、【置办家具】的更多相关文章

  1. python基础——面向对象编程

    python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...

  2. Python之面向对象编程学习

    不知不觉,学到了python的面向对象编程思想.今天我们来讨论下面向对象编程的思想. 顾名思义,面向对象,就是面向于对象,这里所说的对象不是你现实生活中你的女朋友,你的老婆,你的爱人,在编程的世界里面 ...

  3. Python:面向对象编程3 定制类(有更新)

    Python:面向对象编程3  定制类(有更新) ⚠️本文主要内容为对Data model相关知识点的提取学习记录.(内容来自文档和部分网页教程案例) ⚠️:这个连接指向<流畅的python&g ...

  4. Python - 面向对象编程 - 小实战(2)

    需求 小明和小美都爱跑步 小明体重 75 公斤 小美体重 45 公斤 每次跑步会减肥 0.5 公斤 每次吃东西体重增加 1 公斤 需求分析 小明.小美都是一个具体的对象,他们都是人,所以应该抽象成人类 ...

  5. Python - 面向对象编程 - 小实战(1)

    题目 设计一个类Person,生成若干实例,在终端输出如下信息 小明,10岁,男,上山去砍柴 小明,10岁,男,开车去东北 小明,10岁,男,最爱大保健 老李,90岁,男,上山去砍柴 老李,90岁,男 ...

  6. python基础-面向对象编程

    一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...

  7. python之面向对象编程

    1.面向对象介绍: 世界万物,皆可分类 世界万物,皆为对象 只要是对象,就肯定属于某种类 只要是对象,就肯定有属性 2. 面向对象的几个特性: class类: 一个类即对一类拥有相同属性的对象的抽象, ...

  8. python(8):面向对象编程

    有三种程序类型: (1)面向过程:按照一定的逻辑顺序,一步步垒代码 (2)面向函数:对用常用的计算,建立函数避免重复 (3)面向对象: 函数的集合,对函数进行分类和封装 (一) 抽象 抽象: 哈巴狗, ...

  9. Python(面向对象编程—1)

    class tst: l=[] x=1 a=tst() b=tst() a.l.append('a') b.l.append('b') a.x='a' b.x='b' print(a.l,a.x) # ...

随机推荐

  1. 一些固化了的语音识别模块demo, 手机重力传感器获取

    helloH5 这个软件里面有好多这个东东哦

  2. 矩阵中的路径 DFS+剪枝

    给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字母顺序,通过相邻的单元格内的字母 ...

  3. CSS(2)盒子模型、定位浮动

    盒子模型 盒子模型:一个盒子中主要的属性就5个.width与height.padding.border.margin.盒子模型标准有两种为标准盒模型和IE盒模型.学习上以标准盒子模型为主 width和 ...

  4. 【无人机航空摄影测量精品教程】目录:摄影测量、Pix4d、EPS、CC、PhotoScan项目化作业流程及注意事项汇总

    目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 该专栏为目前最为热门的无人机航测内外业项目,主要内容包括:无人机航测外业作业流程(像控点布设.航线规划.仿地飞行.航拍)和内业数据 ...

  5. 圆盘时钟效果 原生JS

    圆盘时钟 旋转时钟 数字时钟 写在前面 仿荣耀手机时钟,设计的同款时钟效果 实现效果 实现原理 数字时钟 利用Date内置对象获取当下的时间,通过处理呈现在页面上 这一步获取时间是非常简单的,通过Da ...

  6. python工业互联网应用实战17—前后端分离模式之django template vs jquery3

    上一章节我们完成了"CRUD"的后面3个功能点,新增由于改动较大我们专门增加本章来阐述,主要是完成技术栈切换后,会发现模板的代码判断过多,逻辑过于复杂.对未来存在的扩展和维护友好性 ...

  7. CVPR2019目标检测论文看点:并域上的广义交

    CVPR2019目标检测论文看点:并域上的广义交 Generalized Intersection over Union Generalized Intersection over Union: A ...

  8. CVPR 2020目标跟踪多篇开源论文(上)

    CVPR 2020目标跟踪多篇开源论文(上) 1. SiamBAN:面向目标跟踪的Siamese Box自适应网络 作者团队:华侨大学&中科院&哈工大&鹏城实验室&厦门 ...

  9. MindSpore图像分类模型支持(Lite)

    MindSpore图像分类模型支持(Lite) 图像分类介绍 图像分类模型可以预测图片中出现哪些物体,识别出图片中出现物体列表及其概率. 比如下图经过模型推理的分类结果为下表: 类别 概率 plant ...

  10. BEP 7:CUDA外部内存管理插件(下)

    BEP 7:CUDA外部内存管理插件(下) Numba依赖 向库中添加EMM插件的实现自然会使Numba成为库的依赖项,而以前可能没有.为了使依赖关系可选,如果需要的话,可以有条件地实例化并注册EMM ...