qq_43448204 2018-10-17 14:47 采纳率: 0%
浏览 3024

学生党python求助大神:掷骰子算概率

请设计一个程序,可以按用户输入模拟掷骰子的次数,然后列出每一个数字出现的百分比!
初学学生党求助,班上同学没一个会做的。。。

  • 写回答

1条回答

  • lyhsdy 2018-10-19 01:31
    关注
    
    class Solution:
        # @param {int} n an integer
        # @return {tuple[]} a list of tuple(sum, probability)
        def dicesSum(self, n):
            # Write your code here
            if n == 0: return None
            result = [
                [1, 1, 1, 1, 1, 1],
            ]
            for i in range(1, n):
                x = 5 * (i + 1) + 1
                result.append([0 for _ in range(x)])
    
                for j in range(x):
                    if j < 6:
                        result[i][j] = (sum(result[i - 1][0:j + 1]))
                    elif 6 <= j <= 3 * i + 2:
                        result[i][j] = (sum(result[i - 1][j - 5:j + 1]))
                    else:
                        break
                left = 0
                right = len(result[i]) - 1
                while left <= right:
                    result[i][right] = result[i][left]
                    left += 1
                    right -= 1
            res = result[-1]
            all = float(sum(res))
            other = []
            for i, item in enumerate(res):
                pro = item / all
                other.append([n + i, pro])
            return other
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何实验stm32主通道和互补通道独立输出
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题