当前位置: 首页 > 网络应用技术

Python摇晃骰子的可能性是什么(2023年的最新答案)

时间:2023-03-06 00:52:56 网络应用技术

  简介:今天,首席执行官指出,要与您分享有关在Python摇晃骰子的可能性。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  导入numpy作为NP

  '''蒙特卡洛方法''

  epoch = 10000#仿真10000次

  计数= 0#计数

  对于我的范围(时代):

  dice_12 = np.random.randint(6,size = 12)+1#每次模拟12个骰子

  如果dice_12 [dice_12 == 6] .size = 2:count+= 1

  打印('同时投资12个骰子,至少两个骰子的概率至少两个骰子是{}'。格式(count/epoch))

  摇晃Shunzi 5!*2*(1/6)^5的可能性

  摇晃一对的概率(有两个颜色相同的数字,3,4,5颜色点可以是相同的默认值)1-6*5*4*3*2*(1/6)^5

  摇动两个不同的对立性概率(有四个颜色,两个是相同的)

  C(2,5)C(2,3)/2*6*5*6*(1/6)^6

  摇动相同数字的三个颜色的可能性是(只有三种颜色是相同的)

  5!/(3! * 1!1!) * 6 * 5 * 5 * 5 *(1/6)^5

  摇动三个相同数字和其他两个颜色点的概率是相同的。

  3个元素红色,2个元素白色,连续行,更改颜色

  5!/(3! * 2!) * 6 * 5 *(1/6)^5

  仅摇动相同点的四个颜色的可能性是

  5 * 6 * 5 *(1/6)^5

  摆脱五个相同的颜色概率

  6*(1/6)^5

  看来,无论x的数量和面孔有多少个颜色和面孔,x的数量应为一个,因此x = 1的范围为((a * b) - (a -1)),因此函数定义不是在x的定义期间,在X中使用,尝试运行,看看是否是您想要的结果?

  def dict(a,b):

  X = 1/((A*B) - (A-1))

  返回x

  而真:

  尝试:

  a = int(输入(“请丢失颜色的数量:”)

  如果a = 1:

  b = int(输入(“请将颜色丢给面条:”)

  如果b = 2:

  c = int(输入(“请输入点:”)

  如果c = a和c = a*b:

  dict(a,b)

  打印(概率'+'%。2F%%'%(dict(a,b)*100))

  休息

  Elif C = A*1:

  打印(“点数必须更大,等于鸡巴的数量,请重新输入。”)

  精灵C a*b:

  打印(“点数必须小于颜料总数,请重新输入。”)

  Elif B 2:

  打印(“面条的数量大于1,请重新输入。”)

  Elif A 1:

  打印(“颜料的数量大于1,请重新输入。”)

  除valueerror:

  打印(“不正确格式,请重新输入。”)

  请参阅以下代码。

  游戏可能有问题,主要是因为在保留卡时,进入ACE或“ ACE ACE”之间有什么区别。最后,是否要输入ACE将所有ACE保留在手上或仅一个,这是不清楚的。

  模拟没有问题,它与图片中的结果完全相同

  必须使用python 3

  导入随机

  进口收藏

  _dice_type = ['ace','king','queen','jack','10','9']

  }

  ('5kind',“一种五个”),

  ('4kind',“一种四个”),

  ('full',“满屋”),

  ('直','直'),

  ('3kind',“一种”),

  ('2pair','两对'),

  ('1pair','一对'),

  ('胸围','胸围),

  )))

  def_check_hand(DICES):

  counter = collections.counter(dices)

  如果Len(Counter)== 1:

  返回'5kind'

  sorted5 = counter.most_common(5)

  如果排序5 [0] [1] == 4:

  返回'4Kind'

  如果排序5 [0] [1] == 3:

  如果排序5 [1] [1] == 2:

  返回“满”

  别的:

  返回'3Kind'

  如果排序5 [0] [1] == 2:

  如果排序5 [1] [1] == 2:

  返回'2pair'

  别的:

  返回'1pair'

  如果Len(Counter)== 5:

  dtype = sorted5 [0] [0]

  对于x中的x:

  如果dtype!= x [0]:

  休息

  dtype+= 1

  别的:

  返回“直线”

  返回“胸围”

  def Play():

  dices = []

  重试= 0

  而真:

  保持=五个(DICE)

  如果保留= 0:

  休息

  passes.extend

  打印(“卷为:{}”。格式(

  “。加入([_ dice_type [d] for seted(dices)]))))))

  ))

  print(“这是{}”。格式(_hand_mapping [_check_hand(dices)])))))

  如果重试1:

  休息

  提示=“您要保留哪个骰子{}卷?”。格式 (

  “第二”如果重试== 0 else“第三”

  治愈

  而真:

  答案=输入(提示).lower()

  如果答案=='all':

  休息

  答案= [x.capitalize()for X in Anger.split()]

  如果设置(anny).issubset(set(_dice_type)):

  休息

  打印(“这是不明式的,请重试!”))))

  重试+= 1

  如果答案=='all':

  打印(“确定,完成”)

  休息

  TMP = DICE

  dices = []

  对于TMP中的X:

  如果_dice_type [x]在答案中:

  dispis.append(x)

  answer.remove(_dice_type [x])

  def仿真(n,debug = false):

  结果= dict.fromkeys(_hand_mapping.keys(),0),0)

  对于_在范围(n)中:

  pestes = [rand.randint(0,5)的x在范围(5)中]

  如果调试:

  print(“ debug:”,“”。加入([_ dice_type [d] for serted(dices)]))))))))))))))))))))))))))))))))))

  结果[_CHECK_HAND(DIA)]+= 1

  对于k,v in _hand_mapping.items():

  cnt =结果[k]

  print(“ {:16S}:{:.2f}%”。格式(v,100*cnt/n))

  # - * - 编码:UTF-8 - * -

  随机导入,时间

  DEF RANDSTR(X):

  num = int(随机均匀(1,7))

  返回[num,“不”+ str(x) +“”从骰子摇晃的点为:“ + str(num) +”

  ”

  def tous(r):

  总和,约束= 0,“”“”

  #range(r)表示0到r,因此在下面使用

  对于我的范围(1,r+1):

  conresult = randstr(i)

  sum+= conresult [0]

  cond+= conresult [1]

  返回[sum,约束]

  def calltous(k,v):

  daxiao =(“小数为小”,“点很大”)

  结果= tous(k)

  打印结果[1] +“所有骰子摇动的总数:“ + str(结果[0]) +”

  “ + daxiao [(结果[0] -v)0] +”

  “

  而真:

  Calltous(3,10)

  时间。

  结论:以上是首席CTO注释向所有人介绍的Python概率的总内容。我希望这对每个人都会有所帮助。如果您仍然想进一步了解这一点,请记住要收集对该网站的关注。