美文网首页
投掷骰子 -Python实现

投掷骰子 -Python实现

作者: 蓝剑狼 | 来源:发表于2018-11-03 16:21 被阅读55次
from random import randint
import pygal


class Die():
    """表示一个骰子的类"""

    def __init__(self, num_sides=6):
        """骰子默认6面"""
        self.num_sides = num_sides

    def roll(self):
        """返回一个位于1和骰子面数之间的随机值"""
        return randint(1, self.num_sides)
    
    
# 投掷一个骰子
die_1 = Die()
print(die_1.roll())
results = []
for roll_num in range(100):
    result = die_1.roll()
    results.append(result)
print(results)
for num in range(1, 7):
    print("面为%-2d的出现的次数为:%d)" % (num, results.count(num)))

# 投掷两个骰子
die_1 = Die()
die_2 = Die()
# 掷几次骰子,并将结果存储在一个列表中
results = []
for roll_num in range(100):
    result = die_1.roll() + die_2.roll()
    results.append(result)
# 打印掷骰子的结果
print("1", results)
# 分析结果
frequencies = []
max_result = die_1.num_sides + die_2.num_sides
for value in range(2,max_result+1):
    frequency = results.count(value)
    frequencies.append(frequency)
    print("面为%-2d的出现的次数为:%d)" % (value, results.count(value)))
# 打印每个面出现的次数
print(frequencies)

# 对结果进行可视化
hist = pygal.Bar()
hist.title = "Results of rolling one D6 1000 times"
hist.x_labels = [str(i) for i in range(2, 13)]
hist.x_tile = "Result"
hist.y_title = "Frequency of Result"

hist.add("D6+D6", frequencies)
hist.render_to_file("dice_visual.svg")
print("图表制作成功")
两个骰子的投掷结果.png

相关文章

  • 投掷骰子 -Python实现

  • leetcode 掷骰子模拟 -- 动态规划,排列组合,减法取模

    有一个骰子模拟器会每次投掷的时候生成一个 1到 6 的随机数。不过我们在使用它时有个约束,就是使得投掷骰子时,连续...

  • n枚骰子点数和概率问题

    n枚骰子点数和概率问题 随意投掷n枚骰子,求每一种骰子点数和出现的概率。 设n枚骰子点数的和出现数目为,概率 1....

  • COC规则:有趣的概率模型

    克苏鲁跑团里,所有技能能否释放成功,都需要用骰子来决定。通常是投掷两枚骰子,一枚是百位骰,一枚是个位骰,用投掷的结...

  • 纷繁复杂的世界,你应该做个贝叶斯人

    假设你和朋友玩掷骰子猜点数的游戏,一方投出骰子,另一方猜测点数。骰子有六面,投掷是随机的,所以任何一次猜中的概率都...

  • 练习

    模拟投掷两个骰子 10 次。 创建一个骰子模拟,在模拟中生成一个10x3二维张量,其中: 列1和2均存储一个骰子的...

  • python模拟投骰子并可视化

    安装pygal库首先创建一个骰子的类: 来一个简单的6面骰子,投掷10000次并将频数结果可视化 这便是一个6面骰...

  • 空谷回音/上帝的骰子 -

    自身的局限,很难打破。大多数人都被自己思想的藩篱所阻挡。 上帝掷不掷骰子我不知道。但我们自己的大脑经常投掷骰子。 ...

  • 剑指offer 68- 骰子的点数

    将一个骰子投掷 n 次,获得的总点数为 s,s 的可能范围为 n∼6n 掷出某一点数,可能有多种掷法,例如投掷 2...

  • pygal出图这么炫

    1. 创建Die类: 2. 投掷骰子并绘图: 3. 查看SVG格式图片 查看windows图片路径:C:/User...

网友评论

      本文标题:投掷骰子 -Python实现

      本文链接:https://www.haomeiwen.com/subject/xzpkxqtx.html