【2022.05.16】塞壬人鱼的数学计算——珠泪哀歌族·塞壬人鱼

今天朋友问了我这么一个数学题目,反正是概率论的

我没玩过游戏王,所以按照他的想法写了以下代码,这份代码主要是用来计算收益的

顺便试了一下jupyterhub,共同编辑一份代码

image-20220516233937052

效果如下

这个卡名的①②的效果1回合各能使用1次。
①:自己主要阶段才能发动。这张卡从手卡特殊召唤,从自己手卡选1只怪兽送去墓地。那之后,从自己卡组上面把3张卡送去墓地。
②:这张卡被效果送去墓地的场合才能发动。融合怪兽卡决定的包含墓地的这张卡的融合素材怪兽从自己的手卡·场上·墓地用喜欢的顺序回到持有者卡组下面,把那1只融合怪兽从额外卡组融合召唤。

因为有的数字确实算得吐血,所以最后还是要用代码来解决

image-20220516234229307

代码如下

# 一共有多少张牌
all=35
# 要堆多少张牌
draw=3
# 以上是要修改的

import math
all_qingkuang = math.comb(all,draw)
print("在",all,"中抽",draw,"张牌,一共有",all_qingkuang,"种情况")
x1=0
x2=0
x3=0
x4=0
while x1 <= 3:
    while x2 <= x1:
        while x3 <= x2:
            while x4 <= x3:
                # 判断是否超过抽牌数
                if (x1 + x2 + x3 +x4)>draw:
                    break
                
                # count为非0个数
                count = 0
                if x1 != 0:
                    count = count + 1
                if x2 != 0:
                    count = count + 1
                if x3 != 0:
                    count = count + 1
                if x4 != 0:
                    count = count + 1
                result = math.comb(4,count) * math.comb(3,x1) * math.comb(3,x2) * math.comb(3,x3) * math.comb(3,x4) * math.comb(all-12,draw-x1-x2-x3-x4)
                
                print("一共抽了",count,"组,一共抽了",x1 + x2 + x3 + x4,"张牌,情况为",x1,x2,x3,x4, "在该情况下有" , result ,"种情况,该种情况下占比{:.2%}".format(result/all_qingkuang))
                
                x4 = x4 + 1
            x4 = 0
            x3 = x3 +1
        x3 = 0
        x2 = x2 + 1
    x2 = 0
    x1 = x1 + 1

输出结果还挺好看的

image-20220516234315651

posted @ 2022-05-16 23:46  Mokou  阅读(398)  评论(0编辑  收藏  举报