【发布时间】:2020-07-20 10:47:18
【问题描述】:
这是我的编码如下。
import random
import math
def count_hit_in_cirle(iteration):
randX=random.uniform(-1.0,1.0) # returns a X random float in INclusive [-1.0, 1.0]
randY=random.uniform(-1.0,1.0) # returns a y random float in INclusive [-1.0, 1.0]
one_if_in_circle=0
for i in range(iteration):
def one_if_in_circle(randX, randY):
if math.sqrt(randX*randX+randY*randY) <= 1:
return 1
else:
return 0
return (sum(one_if_in_circle(randX, randY)))
count_hit_in_cirle(1000)
但是我得到了这样的错误:
count_hit_in_cirle(1000)
Traceback (most recent call last):
File "<ipython-input-4-4dcc579bc645>", line 1, in <module>
count_hit_in_cirle(1000)
File "<ipython-input-3-4fbc77f1c9ec>", line 11, in count_hit_in_cirle
return (sum(one_if_in_circle(randX, randY)))
TypeError: 'int' object is not iterable
然后我尝试了:
return (sum(one_if_in_circle(randX, randY)))
我还是有错误:
"TypeError: 'function' 对象不可迭代"
有没有人可以告诉我如何修复我的编码?非常感谢
【问题讨论】:
标签: python for-loop object typeerror iterable