策略模式

本文详细介绍了一种软件设计模式——策略模式,并通过Python代码示例展示了如何使用策略模式来解决不同策略应用的问题。策略模式允许算法独立于使用它的客户而变化,提高了代码的灵活性和复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# class CashNormal():#策略1
#     def accept_money(self,money):
#         return money
# class CashRate():#策略2
#     def __init__(self,rate):
#         self.rate=rate
#     def accept_money(self,money):
#         return money*self.rate
# class CashReturn():#策略3
#     def __init__(self,condition,ret):
#         self.condition=condition
#         self.ret=ret
#     def accept_money(self, money):
#         return money-(money//self.condition)*self.ret
# class Context():
#     def __init__(self,cs):
#          self.cs=cs
#     def getResult(self,money):
#          return self.cs.accept_money(money)
# if __name__ == '__main__':#主进程
#      zd={}
#      zd[1]=Context(CashNormal())
#      zd[2]=Context(CashRate(0.8))
#      zd[3]=Context(CashReturn(300,50))
#      celue=int(input('请输入策略'))
#      if celue in zd:
#          cs=zd[celue]
#      else:
#          cs=zd[1]
#      money=float(input('请输入钱'))
#      print(cs.getResult(money))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值