面向对象应用(扑克牌,薪酬结算系统)

本文探讨了面向对象编程的应用,通过实例详细介绍了如何创建扑克牌游戏的类结构,包括扑克类、牌类和玩家类,并阐述了各类的功能实现,如洗牌、发牌和排序。此外,还分析了薪酬结算系统的类设计,如员工类、经理类、程序员类和销售员类,以及如何根据职务不同计算薪酬。
摘要由CSDN通过智能技术生成

目录

一、扑克牌

1、题目描述

2、分析

3、实现

3、1扑克类

3、2牌类

3、3玩家类

4、源码

二、薪酬

1、题目描述

2、分析

3、源码


一、扑克牌

1、题目描述

说明:简单起⻅见,我们的扑克只有52张牌(没有⼤⼩王),
游戏需要将52张牌发到4个玩家的⼿上,
每个玩家⼿上有13张牌,
按照⿊桃、红⼼、草花、⽅块的顺序和点数从⼩到⼤排列,暂时不实现其他的功能

2、分析

①首先分清楚要创建的类的个数,此处要创建三个类,一个是扑克类,一个是牌类,一个是玩家类

②扑克类的静态属性有52张扑克牌,方法有洗牌和发牌

③牌类有静态属性花色和大小

④玩家类有静态属性名字,以及方法摸排和排序

3、实现

3、1扑克类

①枚举:枚举类型可以通过继承Enum类来实现,注意Enum类是在enum模块中的

from  enum import Enum
class VIP(Enum):
	YELLOW = 1
	RED  = 2
	BLUE = 3

如上就创建了一个简单的枚举类型,我们可以查看枚举类型的名称和它的值

其中查看枚举成员可以采用点运算符或者方框运算符,这和普通的类是一模一样的。使用name可以查看枚举的名称,使用value可以查看枚举的值。与普通的类不同的是,我们还可以传入数字来得到枚举成员,所以枚举类型可以用值也可以用数字表示

②初始化:首先通过枚举将牌给声明出来存储到牌的对象中,牌包括花色和大小

②洗牌:也就是将牌类的顺序打乱,此时用到了random的shuffle函数

shuffle() 方法将序列的所有元素随机排序。

                random.shuffle (lst )

shuffle()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

③发牌:将牌发送到玩家手上,从以及初始化好的牌中将牌取出发给玩家,

④判断:因为牌的数量有限,所以要加上一个判断是否有牌发出,此时需用property声明,把一个方法当做属性来用

3、2牌类

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值