所以我试着写一个函数来计算pi的估计值,然后从pi的实际值中减去。然而,当我运行它时,我得到一个错误,说名称“piCalc”没有定义。你知道我做错了什么吗
import math
import random
def computePI (numThrows):
circleCount = 0
for i in range(numThrows):
xPos = random.uniform (-1.0, 1.0)
yPos = random.uniform (-1.0, 1.0)
distance = math.hypot(xPos, yPos)
if distance < 1:
circleCount = circleCount + 1
piCalc = 4 * (circleCount/numThrows)
return(piCalc)
def main():
global piCalc
throws = int(input(""))
computePI(throws)
difference = piCalc - math.pi
print(piCalc)
print(difference)
main()
您尚未在函数中声明全局
尝试这样的操作,您会得到一个错误,因为您的值不是全局的。这样,computPI无论如何都会返回picalc,因此您只需捕获返回值即可
在主函数和代码中初始化piCalc 表示piCalc=0
相关问题 更多 >
编程相关推荐