m0_72744985 2022-12-22 03:43 采纳率: 90%
浏览 40
已结题

滚动骰子,输入骰子数量与投掷次数

对于这个任务,我们希望您编写一个程序,找出平均需要滚动多少次6面骰子,直到它得到6。该程序有两个输入:随机数生成器的种子数和试验次数。接收这两个输入的代码已经为您完成了。你不用担心。您的任务是完成“trials (n)”和“roll()”两个函数。“trials (n)”函数接受一个正整数“n”,它表示运行实验的试验次数(您可以从主函数的一个输入中获得这个数字)。在每次试验中,你数一下你需要投掷多少次6面骰子才能得到6。在每次试验运行后,您的程序应该在所有试验中输出滚动6的平均次数。“roll()”模拟滚动一个6面骰子。当被调用时,它应该随机返回一个介于6之间的数字。


import random

#roll function to simulate rolling a 6-sided die
def roll():
    #--- TODO: Complete this function ---
    
    
    #----End of your code -----

def trial(n):
    #----TODO: complete this function -----
    
    
    
    
    
    
    
    
    #----End of your code -----

#===== Do NOT change anything below =======#  
def main():
    seednum = int(input("Enter the seed number: "))
    random.seed(seednum) #setting the seed number
    simnum = int(input("Enter the number of trials: "))
    trial(simnum) #calling the trial(n) function to run that number of trials

if __name__ == "__main__":
    main()

  • 写回答

4条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-22 05:22
    关注

    ChatGPT尝试为您解答,仅供参考
    这是可以完成这个任务的代码:

    
    import random
    
    # roll function to simulate rolling a 6-sided die
    def roll():
        return random.randint(1, 6)
    
    def trial(n):
        total_rolls = 0
        for i in range(n):
            rolls = 0
            while True:
                rolls += 1
                if roll() == 6:
                    break
            total_rolls += rolls
        average_rolls = total_rolls / n
        print(f'Average number of rolls: {average_rolls:.2f}')
    
    def main():
        seednum = int(input("Enter the seed number: "))
        random.seed(seednum) # setting the seed number
        simnum = int(input("Enter the number of trials: "))
        trial(simnum) # calling the trial(n) function to run that number of trials
    
    if __name__ == "__main__":
        main()
    

    这里是一些解释:

    • roll 函数使用 random.randint 函数生成一个随机的整数,该整数介于 1 和 6 之间,这是模拟滚动 6 面骰子的方法。
    • trial 函数接受一个整数 n,它表示试验的次数。在这个函数中,我们循环运行 n 次试验。每次试验,我们使用一个无限循环来模拟滚动骰子,直到得到 6 为止。在每次试验中,我们跟踪滚动的总次数,并在所有试验结束后,计算平均滚动次数。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 12月22日

悬赏问题

  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动