python 百钱百鸡案例以及CRAPS赌博游戏案例讲解。这两个案例其实并没有之前的那个水仙花数出名,哈哈,也可能是我孤陋寡闻了。简单说明一下这两个案例都是什么意思。

百钱百鸡

说明:百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?翻译成现代文是:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
其实这个案例让我想到了那个黑球白球红球的问题,跟这个类似,不过那个是一个加一个是多少,这两个虽然题不一样但实际上用到的东西都是一样的。 就是首先先循环嵌套,在一个鸡循环的时候另外再循环一个,然后进行判断即可。如公鸡1只,然后母鸡循环,每循环一次进行判断不断循环遍历就行了。 简单来说只要满足一个式子就行了,公鸡5+母鸡3+小鸡/3等于100即可。不过其实除了这个还有一个式子需要满足,就是有100只鸡,不过这个需要通过循环来实现。 简单看一下代码吧。 for x in range(0, 20): for y in range(0, 33): z = 100 - x - y if 5 x + 3 y + z / 3 == 100: print('公鸡: %d只, 母鸡: %d只, 小鸡: %d只' % (x, y, z)) x代表公鸡,y代表母鸡,z代表小鸡,这是因为公鸡和母鸡很好表示,而小鸡因为要除3所以相对难表示一些。然后我们的条件也就是全买公鸡,全买母鸡,100块钱能买几只来作为判断。 不得不说计算机其实最擅长的就是这类方法了,穷举法。这个就是一个非常生动的例子,把所有的可能都列出来,然后进行挨个判断,将符合条件的提取出来。 ## CRAPS赌博游戏
说明:CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。
这里我们就需要用到python中一个很常用的库了,random库,随即库。我们要利用里面的randint获取随机值来进行摇点操作,其实这个和我之前一篇文章中所说的猜数游戏非常类似吧,只不过加上了摇点数的判断而已,不过其实猜数也有,只不过稍微简单了一些。
注:这篇《python打印简单三角形》中所说的猜数游戏为《python从入门到实践》中作者给家人玩的小游戏,使得作者很有成就感。我们直接先上代码,然后进行讲解。 """ Craps赌博游戏 我们设定玩家开始游戏时有1000元的赌注 游戏结束的条件是玩家输光所有的赌注 """ from random import randint money = 1000 while money > 0: print('你的总资产为:', money) needs_go_on = False while True: debt = int(input('请下注: ')) if 0 < debt <= money: break first = randint(1, 6) + randint(1, 6) print('玩家摇出了%d点' % first) if first == 7 or first == 11: print('玩家胜!') money += debt elif first == 2 or first == 3 or first == 12: print('庄家胜!') money -= debt else: needs_go_on = True while needs_go_on: needs_go_on = False current = randint(1, 6) + randint(1, 6) print('玩家摇出了%d点' % current) if current == 7: print('庄家胜') money -= debt elif current == first: print('玩家胜') money += debt else: needs_go_on = True print('你破产了, 游戏结束!') 不过还是奉劝各位不要玩这种游戏,只要涉及到钱的东西一律不要参加! 也就是通过循环来不断的获取你下注的值,然后判断是否为获胜的点数,之后再进行钱数的判断,只要钱大于0就会一直循环下去,直到破产!其实这里就是利用了一个很常用的知识,就是把一个常用到的值进行True或者False赋值,然后根据条件来进行True和False的转换,以达到一些简单但是复杂的功能。 其实这个案例还是很简单的,如果不会的话,推荐看一下猜数的小游戏,虽然复杂程度不一致,但是可以看作是它的进阶版。
最后修改:2021 年 04 月 20 日 08 : 01 AM
如果觉得我的文章对你有用,请随意赞赏