123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- import random
- class betSize(object):
- """
- 假设有足够多的钱 ,庄家愿意一直玩就不会输
- 1.初次下注基本金额足够少,本金1/100
- 2.之后每次下注为上一次金额的翻倍
- 3.直到第一次赢了后,回到步骤1
- """
- def __init__(self,count,principal):
- self.count = count
- self.principal = principal
-
-
- def gambling(self):
- """"""
- c =0
- for i in range(self.count):
- c =i+1
-
- #初次下注金额
- money = self.principal/100
- self.logStart(c, money)
-
- if not self.game(money):
- break
-
-
- self.logResult(c)
- def game(self,amount):
- """ 游戏开始, amount=下注金额 """
-
- #下注
- self.bet(amount)
- self.logGameStart(amount)
-
- if (not self.isWin()):
- #下轮下注金额
- nextAmount =amount * 2
-
- if(self.isLose(nextAmount)):
- self.lose()
- return False
- else:
- return self.game(nextAmount)
- else:
- self.win(amount)
-
- return True
-
-
- def bet(self,money):
- """下注 , money = 下注金额"""
- self.principal -= money
- return money
- def win(self,money):
- self.principal += money * 2
- self.logWin(money*2)
- def isLose(self,amount):
- return self.principal<=0 or self.principal<amount
-
- def lose(self):
- print("lose...剩余本金:%d" %(self.principal))
-
- def isWin(self):
- """ 每次买小 , 小于等于10当赢"""
- random.seed(random.randint(1, 100000))
- one = random.randint(1,6)
- two = random.randint(1,6)
- three = random.randint(1,6)
- result = one + two + three
- self.logGameResult(one,two,three,result,result<=10)
- return result <=10
- def logStart(self,i,money):
- print("第%d轮,本金%d ,初次下注金额:%d" %(i,self.principal,money))
- def logGameStart(self,money):
- print("下注金额:%d 剩余本金:%d" %(money,self.principal))
- def logWin(self,money):
- print("赢了,结束本轮,收入:%d 剩余本金:%d" %(money,self.principal))
- print("")
- def logGameResult(self,one,two,three,result,isWin):
- print("本轮结果:%d %d %d = %d %s" %(one ,two ,three ,result ,"赢" if isWin else "输"))
- def logResult(self,i):
- print("游戏%d轮结束 , 剩余本金:%d" %(i ,self.principal))
- if __name__ == '__main__':
- count = 100
- principal = 1000000
-
- bet = betSize(count,principal)
- bet.gambling()
-
|