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 Matlab在app上输入带有矩阵形式的初始条件发生错误
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 用ADS设计一款的射频功率放大器