【发布时间】:2018-01-30 21:14:42
【问题描述】:
使用python 3:我有三个函数:montePi、isInCircle 和 main。 我需要由 montePi 调用 isInCircle。该函数将起作用,它只是说 isInCircle 未定义。我该如何定义它?
import random
import math
def montePi(numDarts):
inCircle = 0
def isInCircle(x, y, r):
r = 1
d = math.sqrt(x**2 + y**2)
if d <= r:
return True
else:
return False
for i in range(numDarts):
x = random.random()
y = random.random()
d = math.sqrt(x**2 + y**2)
if d <= 1:
inCircle = inCircle +1
pi = inCircle / numDarts * 4
return pi
def main():
print(montePi(100))
print(montePi(1000))
print(montePi(10000))
print(montePi(100000))
main()
【问题讨论】:
-
为什么
isInCircle()定义在montePi()中间? -
为什么不在
montePi之外定义isInCircle然后调用它? -
我想我在 montePi 之外的何处定义它以及如何调用它时遇到了麻烦。我想我对如何将两者联系起来感到困惑
-
你在哪里打电话
isInCircle()? -
对于硬编码半径 1,不需要调用
math.sqrt。
标签: python montecarlo