【Python打卡2019】20190609之模拟掷骰子2.0

0.任务描述

掷两个骰子,记录和的频次和频率。

1.思路描述

方法roll_dice()返回1-6的随机数表示掷骰子1次;
主函数中:

  • 首先创建存储点数和次数的字典;具体实现方法是:创建两个列表分别存储点数2-12以及出现的次数;使用zip函数将两个列表转化为元组,随后转化成字典;
  • 循环掷骰子n次,每次中掷骰子2次,计算二者之和并增加到对应键上的值。

2.程序和结果

"""
    模拟掷骰子2.0
    20190518
    掷两个骰子
"""
import random


def roll_dice():
    """
        模拟掷骰子
        生成1-6随机数
    """
    roll = random.randint(1, 6)
    return roll


def main():
    """
        主函数
    """
    total_times = 100  # 掷骰子的总次数
    result_times_list = [0] * 11  # 结果列表,记录的是每个点数出现的次数,两个骰子之和共有11种情况
    result_points_list = list(range(2, 13))
    result_times_dict = dict(zip(result_points_list, result_times_list))
    for i in range(total_times):
        ran_dice1 = roll_dice()  # 第一次
        ran_dice2 = roll_dice()  # 第二次
        for j in range(2, 13):
            if ran_dice1+ran_dice2 == j:
                result_times_dict[j] += 1
                # print("出现了{}一次".format(ran_dice))
    for i, x in result_times_dict.items():
        print("点数{}出现了{}次,频率为{}!".format(i, x, x/total_times))


if __name__ == '__main__':
    main()
Y:\Python\Anaconda\python.exe Y:/PythonWorkspace/lect08/RandomTest2.py
点数2出现了6次,频率为0.06!
点数3出现了4次,频率为0.04!
点数4出现了5次,频率为0.05!
点数5出现了9次,频率为0.09!
点数6出现了10次,频率为0.1!
点数7出现了25次,频率为0.25!
点数8出现了13次,频率为0.13!
点数9出现了12次,频率为0.12!
点数10出现了8次,频率为0.08!
点数11出现了3次,频率为0.03!
点数12出现了5次,频率为0.05!

Process finished with exit code 0
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值