用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. 要不应该是引用两个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()