当前位置: 首页 > 知识库问答 >
问题:

如何使用掷硬币来分配骰子?

方嘉志
2023-03-14

我只能用randint(0,1),它的抛硬币。(50%的头,尾)

使用上面,我如何做骰子分布(1到6个均匀分布)。

共有1个答案

丁豪
2023-03-14

您可以执行以下操作:

from random import randint

def toss():
    while True:
        t =sum([2**i * randint(0,1) for i in range(3)])
        if t < 7 and t > 0:
           return t
       
        
rolls = [0] * 7
N = 1000000
for i in range(N):
    t = toss()
    rolls[t] += 1
    
print(rolls[1:])
 类似资料:
  • 我一直在edX上学习python编程,这是一门非常好的课程,目前为止我可以完全推荐。刚刚看了一场关于统计学的TED演讲,我觉得很棒,这是我在真实世界场景中学会的一种锻炼python技能的简单方法。这个家伙给出了一个关于不断地抛硬币并寻找两个重复序列的概率的例子,他解释说,你会认为这两个序列发生的概率与他声称的相同,事实上并非如此。简单地说,他声称Heads Tails Heads这个序列比Head

  • 所以尝试做一个掷硬币游戏的模拟,如果你得到人头,你的钱就翻倍,如果你有故事,你的钱就翻倍。并且想看看如果你用x个钱开始投n个球后你会得到什么 然而,我不确定如何以一种干净的方式来解决这个问题,而不只是对n执行一个forloop。 有什么干净的方法可以做到这一点吗?

  • 我正在用java创建一个掷骰子的应用程序。我有一个掷骰子的“骰子”类,和一个使用“骰子”的多个实例变量的“骰子”类。但是,它只为我的值返回0。骰子类本身可以工作,并且会掷出一个随机数,但是我不知道如何在我的“骰子”类中得到多个掷骰子。感谢任何帮助。 骰子类 模具等级

  • 我试图为一个游戏的掷骰子程序,其中用户输入一个下注金额和2个六面骰子滚动,如果7或11是滚动,他们赢了。如果掷2,3或12就输了,如果掷其他任何一个数字,它就显示该数字为一个点。它会继续掷骰子,直到掷7或该点为止,如果掷7就输了,否则就赢了。出于某种原因,在掷骰子时,他会掷骰子,然后再掷一次,看看他们是否赢了或输了。我不知道如何解决这个问题,任何帮助都不会附带

  • 你好堆栈溢出,我有一个小问题与这个程序。我正在尝试制作一个程序来掷四个骰子并将三个最高的掷骰子加在一起,然后打印这三个掷骰子中最低的一个。我犯了一个错误,就是把三个最高的卷子加在一起,然后打印出四个卷子中最低的一个。 我如何解决这个问题?我在谷歌上搜索了很多,想知道如何使用列表和集合,但我找不到任何可以解决这个问题的东西。 此外,我如何才能迫使用户选择一个集合并重新滚动该集合? 基本上,我想做的是