Goblin_jade 2021-10-16 20:20 采纳率: 100%
浏览 54
已结题

用python求圆周率,要引用随机种子数,对随机数的引用求解


from random import random
DARTS = eval(input(""))
hits = 0.0
for i in range(1,DARTS+1):
    x,y = random(),random()
    dist = pow(x ** 2 + y ** 2,0.5)
    if dist <= 1.0:
        hits = hits +1
pi = 4 * (hits/DARTS)
print("圆周率是:{:.6f}".format(pi))
#上面的代码可以运行,但是无法引用到我想要的随机种子数123
#下面的代码引用了随机种子数123,但是运行错误
from random import random
DARTS = eval(input(""))
hits = 0.0
for i in range(1,DARTS+1):
    x,y = random.seed(123),random.seed(123)
    dist = pow(x ** 2 + y ** 2,0.5)
    if dist <= 1.0:
        hits = hits +1
pi = 4 * (hits/DARTS)
print("圆周率是:{:.6f}".format(pi))

下面那个是问题,我用第一个代码运行出来达不到示例,第二个运行错误,想找如何改正

img

  • 写回答

1条回答 默认 最新

  • Goblin_jade 2021-10-17 11:54
    关注

    这个问题我找别人问,也搞清楚了,引用错误

    1. 要不应该是引用两个from,就是下面这个
      from random import random
      from random import seed
      然后在hits那一行后面来一个
      seed(123)
      再在循环中用
      x,y=random(),random()
      就行了

    2. 要不就是前面直接import random
      但还是要先定义seed,这次定义就要random.seed(123)了,后面就还是random.random()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月16日