#!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. PHP常用函数记录

    1.mixed print_r(mixed $expression [,bool $return=false ]) 打印变量信息. 相关的函数还有var_dump().var_export() $re ...

  2. 常见判断错误 (Day_30)

    写给自己的话: 这是一个卡了我小半天的BUG,也是一个很低端的BUG,写篇博客吧,以后回来看看,会发现曾经的自己是如何的菜. 同样,以此记录我的进步 步入正题,这是我实现多条件分页时遇到的一个BUG, ...

  3. 一文读懂一条 SQL 查询语句是如何执行的

    2001 年 MySQL 发布 3.23 版本,自此便开始获得广泛应用,随着不断地升级迭代,至今 MySQL 已经走过了 20 个年头. 为了充分发挥 MySQL 的性能并顺利地使用,就必须正确理解其 ...

  4. 安全利器 — SELinux

    在 Linux 系统中一切皆文件,资源也属于某种文件.用户在访问文件的时候,系统对权限(读.写 .执行)进行检查.只要用户对文件有足够的权限,就可以任意操作资源.root 用户对所有资源拥有所有权限, ...

  5. Camera噪声问题

    Camera噪声问题 Camera RGB 域的噪声 以上部分属于sensor processing,接下来的部分属于color.luminance processing. gamma gamma是在 ...

  6. ADAS可行驶区域道路积水反光区域的识别算法

    ADAS可行驶区域道路积水反光区域的识别算法 Water logging area reflecting recognition algorithm for ADAS 1. 工程概要 1.1  概述: ...

  7. MindSpore技术理解(上)

    MindSpore技术理解(上) 引言 深度学习研究和应用在近几十年得到了爆炸式的发展,掀起了人工智能的第三次浪潮,并且在图像识别.语音识别与合成.无人驾驶.机器视觉等方面取得了巨大的成功.这也对算法 ...

  8. CodeGen标记循环

    CodeGen标记循环 标记循环是一个模板文件构造,它允许您迭代CodeGen拥有的标记信息的集合.为了使用标记循环,必须基于至少定义了一个字段标记的存储库结构生成代码.              标 ...

  9. halcon——缺陷检测常用方法总结(频域空间域结合)

    摘要 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等. 缺陷检测算法不同于尺寸.二维码.OCR等算法.后者应用场景比较单一,基本都是 ...

  10. 深入 Go 中各个高性能 JSON 解析库

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/535 其实本来我是没打算去看 JSON 库的性能问题的,但是最近我对 ...