python-模拟掷骰子,两个筛子数据可视化

2019-04-11 10:53:51来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

"""
作者:zxj
功能:模拟掷骰子,两个筛子数据可视化
版本:3.0
日期:19/3/24
"""
import random
import matplotlib.pyplot as plt

def roll_num():
roll = random.randint(1, 6)
return roll
def main():
"""
主函数
"""
total_times=100
#初始化列表[0,0,0,0,0]
reslt_list=[0]*11
#记录筛子的结果
roll1_list=[]
roll2_list=[]
#初始化点数列表
roll_list=list(range(2,13))
#元组生成字典,zip元祖无法修改,生成字典可以修改
roll_dict=dict(zip(roll_list,reslt_list))
for i in range(total_times):
roll1=roll_num() #筛子1
roll2=roll_num() #筛子2

roll1_list.append(roll1)
roll2_list.append(roll2)
#筛子总和(2到12之间)
for j in range(2,13):
#如果筛子1加筛子2符合,则字典赋值
if roll1+roll2==j:
roll_dict[j]+=1
#遍历字典输出
for i ,result in roll_dict.items():
print('点数:{}的次数:{},频率:{}'.format(i,result,result/total_times))

#数据可视化
x=range(1,total_times+1) #x坐标(次数)
plt.scatter(x,roll1_list,c='red', alpha=0.5)
plt.scatter(x, roll2_list,c='green', alpha=0.5)
plt.show()
if __name__=='__main__':
main()

 


			   

原文链接:https://www.cnblogs.com/zhouxuejia/p/10589630.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python经典书籍必看:流畅的Python

下一篇:python 游戏 —— 汉诺塔(Hanoita)