pyhton 面向对象之 小明左右手换牌
'''
#左右手交换牌 案列
#小明手里有俩张牌,左手红桃♥K,右手黑桃♠A,小明交换俩手的牌后,手里分别是什么?
人类:
属性:小明,左手,右手
行为:展示手里的牌, 交换手里的牌
手类:
属性:牌
行为:手里拿着扑克牌
牌类:
属性:颜色,数字(红桃♥K ,黑桃♠A)
思路:
先找到对象:左手,右手,♥K,黑桃A,小明
根据对象抽出对应的类:人,手,牌
根据需要写出相应地逻辑,很可能反过来完善类的设计
按照题目要求创建相关对象,调用相关方法,实现相关功能
'''
#扑克类
class Poker: def __init__(self,color,num):
self.color = color
self.num = num def __str__(self):
return '{}{}'.format(self.color,self.num)
#创建牌类对象
p1 = Poker('♥','K')
p2 = Poker('♠','A') #手类
class Hond:
def __init__(self,poker):
self.poker = poker def hold_poker(self,poker):
self.poker = poker #创建左右手对象
life_hond = Hond(p1)
right_hond = Hond(p2)
# print(life_hond)
# print(right_hond) #人类
class Person: def __init__(self,name,life_fond,right_fond):
self.name = name
self.life_fond = life_fond
self.right_fond = right_fond #展示手里的牌
def show(self):
print('{}张开双手'.format(self.name),end='')
print('左手:{}'.format(self.life_fond.poker),end=',')
print('右手:{}'.format(self.right_fond.poker)) #交换手里的牌
def swap(self):
self.life_fond.poker,self.right_fond.poker = self.right_fond.poker,self.life_fond.poker
print('{}交换俩手的牌'.format(self.name)) #创建小明对象
xiaoming = Person('小明',life_hond,right_hond) #展示手里的牌
xiaoming.show() #交换手里的牌 xiaoming.swap() #在展示手里的牌 xiaoming.show()
pyhton 面向对象之 小明左右手换牌的更多相关文章
- Python之面向对象编程【小明跑步】、【置办家具】
#!usr/bin/python 2 #encoding=utf-8 3 #-----------------小明跑步------------- 4 #1.小明体重75.0公斤 5 #2.小明每次跑步 ...
- 小明搬家_NOI导刊2010提高(05)
题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太低了,于是 ...
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
数字的反转: 就是将数字倒着存下来而已.(*^__^*) 嘻嘻…… 大致思路:将数字一位一位取出来,存在一个数组里面,然后再将其变成数字,输出. 详见代码. while (a) //将每位数字取出来, ...
- 小明的密码-初级DP解法
#include #include #include using namespace std; int visited[5][20][9009];// 访问情况 int dp[5][20][9009] ...
- 小明系列问题――小明序列(LIS)
小明系列问题――小明序列 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- ACM 擅长排列的小明
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...
- ACM 懒省事的小明
懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种 ...
- 管闲事的小明-nyoj51
描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L,都种有一棵 ...
- HDU2096 小明A+B
入门级都没到的水题!看到顺便就做了,AC记录喜+1 Description 小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100 ...
随机推荐
- Excel2010取消隐藏的工作簿
背景 Excel 2010文件,其中包含针对业务需要涉及的计算器等,其中一个Worksheet用于存放计算器用到的常量,针对业务人员(即此Excel文件的用户)是隐藏的,并有密码保护. 现象 因业务变 ...
- Vue 框架-06-条件语句 v-if 实现选项卡效果
Vue 框架-06-条件语句 v-if 实现选项卡效果 本片介绍的是 Vue 中条件语句 v-if 第一个小实例是,通过 v-if="布尔值",通过布尔值的真假来决定,某元素是否显 ...
- Mouse For Winpad
Mouse For Winpad 用WIN10的平板模式玩游戏总会到一些兼容性问题,之前在推Re:LieF的时候就遇到了触屏不能像鼠标指针一样进行游戏,于是猜想一定是程序没进行标准化MFC的编程.于是 ...
- leetCode题解 寻找运动环
1.题目描述 Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this ...
- 第一章:了解SQL_数据库基础
什么是数据库(database): 数据库(database)是保存有组织的数据的容器(通常是一个文件或一组文件).数据库是一种以某种有组织的方式存储的数据集合. 表(table): 表(tabl ...
- 从零开始学习Docker
由于项目中可能用到docker容器,在此记录一下我的学习过程 1,docker的安装,wget -qO- https://get.docker.com/ | sh,查看docker是否安装成功: 此处 ...
- SQL Server 常用数据类型
char: 固定长度,存储ANSI字符,不足的补英文半角空格. varchar: 可变长度,存储ANSI字符,根据数据长度自动变化. nchar: 固定长度存储Unicode字符,汉字英文 ...
- git 代码上传至远程仓库&从远程库克隆到本地
1.下载安装Git.下载:https://git-scm.com/downloads 安装:可参考文章http://blog.csdn.net/zzfenglin/article/details/5 ...
- spine获取骨骼位置
time: 2015/07/23 版本: /****************************************************************************** ...
- Linux 文件的读写执行权限的说明
文件的读写执行权限的说明 X 进入目录的权限: cd 1.文件本身是可执行的 2.普通用户还具备r的权限 3.root用户只需要有r的权限即可 r 查看目录/文件的内容 :ls dir 没有读的权 限 ...