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))
下面那个是问题,我用第一个代码运行出来达不到示例,第二个运行错误,想找如何改正
这个问题我找别人问,也搞清楚了,引用错误
要不应该是引用两个from,就是下面这个
from random import random
from random import seed
然后在hits那一行后面来一个
seed(123)
再在循环中用
x,y=random(),random()
就行了
要不就是前面直接import random
但还是要先定义seed,这次定义就要random.seed(123)了,后面就还是random.random()