当前位置: 首页 > news >正文

python投掷骰子实验报告_用Python来掷个色子玩~

掷色子的问题总会出现在概率课本中,老师们都喜欢拿这个耳熟能详的事件来举例子,但今天我们不讲概率,我们来用Python模拟掷色子。

用random模块我们可以轻易地模拟输出点数(一般我们取的这个点数是色子顶上的点数),即随机生成一个1-6的数字。

random.randint(1,6)

的确非常容易,但如果我们想要知道色子的正面反面,左面右面的数值,又该如何计算呢?

本着求知探索精神, 我翻箱倒柜找到一枚祖传色子,来仔细观察一下。

我们可以发现,每个点数的对面点数相加都为7,即1的对面点数为6,剩下的2,3,4,5也对称的分布在1的四侧(2,5相对,3,4相对)。但是其四面的顺序,从不同的角度观测其排列顺序方式也是不同的,还是以顶上点数1为例,从点数2开始按照顺时针我们可以看到2,4,5,3,从点数4开始按照顺时针我们可以看到4,5,3,2,而这些序列构成一个环状。而这些环状数组,我们可以直接用列表来表示,1-6点的顺时针侧面点数列表如下所示

[2,4,5,3]

[1,3,6,4]

[1,5,6,2]

[1,2,6,5]

[1,4,6,3]

[2,3,5,4]

因此,想要描述一个色子的每一面就有了思路,首先随机生成一个数字,直接当作顶部的数字;接着随机生成一个状态,表示从其对应数组的某一位开始,也可以直观地理解为从不同角度看过去;最后输出不同位置的点数,用手绘立方体的方式打印出色子。

rand_number=random.randint(0,5)

rand_state=random.randint(0,3)

def throw():

print(" __ __ __\n");

print(" /%d/ |\n"%(rand_number+1))

print(" __ __ __ |\n")

print(" | |%d|\n"%dice[rand_number][(rand_state+1)%4])

print("%d|%d| /\n"%(dice[rand_number][(rand_state+3)%4],dice[rand_number][(rand_state+2)%4]))

print(" __ __ __ /\n")

print("%d\n"%(6-rand_number))

下面请欣赏我的灵魂画作之画色子~

相关文章:

  • qt 录屏 显示鼠标_Qt官方示例系统托盘
  • redis两台机器集群_redis4.0 cluster集群安装方法
  • python request请求参数_python+requests——简单发送请求——以及包括参数的请求
  • spring boot 事务_体验微服务分布式事务开源框架ServiceComb的Saga TCC模型
  • python的特别注释_写好python的注释文档很容易
  • python字符串查找的四种方法_Python之字符串的遍历的4种方式
  • python监控网页报警自动配置交换机_python实现自动监控网站并发送邮件告警
  • 按键精灵和python功能对比_python 自动化对比返回结果
  • 天猫精灵 python 控制_天猫精灵的高阶玩法-控制我的电脑
  • python将list转换为迭代器代码_Python进阶内容(四)--- 迭代器(Iterator)与生成器(Generator)...
  • python路测是什么_路测是怎样的一种工作体验?
  • python 隐马尔科夫_Python的隐马尔科夫HMMLearn库的应用教学
  • 电容过大导致电压下降_关于补偿电容,你又了解多少呢?
  • 填谷式无源pfc电路_分析PFC并用于对电机控制解决
  • 怎么实现角色权限的分配_新生日记2“铁血妈妈”刘璇和“艺术慈父”王弢,你家角色怎么分配?...
  • 【node学习】协程
  • Android 架构优化~MVP 架构改造
  • Apache Spark Streaming 使用实例
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Gradle 5.0 正式版发布
  • Leetcode 27 Remove Element
  • mysql 5.6 原生Online DDL解析
  • Netty源码解析1-Buffer
  • Spring框架之我见(三)——IOC、AOP
  • Vue官网教程学习过程中值得记录的一些事情
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 微服务核心架构梳理
  • Spring第一个helloWorld
  • # 透过事物看本质的能力怎么培养?
  • #Z2294. 打印树的直径
  • (13):Silverlight 2 数据与通信之WebRequest
  • (Matlab)使用竞争神经网络实现数据聚类
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (一)基于IDEA的JAVA基础1
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .bat批处理出现中文乱码的情况
  • .describe() python_Python-Win32com-Excel
  • .form文件_一篇文章学会文件上传
  • .NET 的程序集加载上下文
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .net网站发布-允许更新此预编译站点
  • .net专家(高海东的专栏)
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [2016.7.Test1] T1 三进制异或
  • [Algorithm][动态规划][路径问题][不同路径][不同路径Ⅱ][珠宝的最高价值]详细讲解
  • [Assignment] C++1
  • [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)
  • [C#]OpenCvSharp使用帧差法或者三帧差法检测移动物体
  • [CTF]2022美团CTF WEB WP