博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python面向对象简单示例—小明手里的牌
阅读量:4166 次
发布时间:2019-05-26

本文共 1269 字,大约阅读时间需要 4 分钟。

小明手里有两张牌,左右♥K,右手♠A,小明交换两手的牌后,手里分别是什么?

本篇适合刚学习面向对象的新手,开拓思路。

  • 思路:
    • 先找到对象:左手、右手、♥K、♠A、小明
    • 根据对象抽象出对应的类:人、手、牌
    • 根据需要写出相应的逻辑,很可能反过来完善类的设计
    • 按照题目要求创建相关对象,调用相关方法,实现相关功能
    • 分析:

    • 对象: 小明、左手、右手、牌1、牌2        
         类:  人、手、牌

#, 扑克牌class Poker:    def __init__(self,color,number):        self.color=color        self.number=number    def __str__(self):        return '{}{}'.format(self.color,self.number)# 创建两张牌p1=Poker('♥','k')p2=Poker('♠','A')# 手的类class Hand:    def __init__(self,poker):        self.poker=poker    def hold_poker(self,poker):        self.poker=poker# 创建左右两只手left_hand=Hand(p1)right_hand=Hand(p2)# 人的类class Person:    def __init__(self,name,left_hand,right_hand):        self.name=name        self.left_hand=left_hand        self.right_hand=right_hand    # 显示手里的牌    def show(self):        print('{}张开手'.format(self.name),end=',')        print('左手:{}'.format(self.left_hand.poker),end=',')        print('右手:{}'.format(self.right_hand.poker))    # 交换手里的牌    def swap(self):        self.left_hand.poker,self.right_hand.poker=self.right_hand.poker,self.left_hand.poker        print('{}交换两手的牌'.format(self.name))# 创建对象小明xiaoming=Person('小明',left_hand,right_hand)# 展示手里的牌xiaoming.show()# 交换两手的牌,xiaoming.swap()#  再展示手里的牌xiaoming.show()

执行代码后,右键run运行结果:

小明张开手,左手:♥k,右手:♠A小明交换两手的牌小明张开手,左手:♠A,右手:♥k

 

转载地址:http://vnqxi.baihongyu.com/

你可能感兴趣的文章
.net实现.aspx页面自动加载.cs程序定义的变量并按照格式输出
查看>>
[Leetcode]最后一个单词的长度
查看>>
merges sort use c++
查看>>
插入排序用递归实现
查看>>
工作流审批平台-审批流程-指定审批部门
查看>>
商务智能-系统概述-数据图形方式
查看>>
软件项目管理系统-项目管理-模块定义-开发内容
查看>>
工作流审批平台-审批功能
查看>>
商务智能-基本方法-特征与角度
查看>>
软件项目管理系统-项目管理-模块定义-开发笔记
查看>>
工作流审批平台-业务申请-申请书一览
查看>>
商务智能-基本方法-数据钻取
查看>>
eclipse的java facets的runtimes如何删除tomcat?
查看>>
oracle序列的cache_size说明
查看>>
oracle中两个时间戳相减得到间隔毫秒数
查看>>
Oracle中将毫秒数转换为timestamp类型的两种方法
查看>>
mybatis配置and rownum< minus 查询第几行到第几行数据的sql原型和mybatis原型。
查看>>
oracle的concat函数使用问题。
查看>>
eclipse编辑状态下怎样让指定行左移或右移?
查看>>
plsql developer如何导入导出表结构和数据以及如何复制表结构和数据?
查看>>