2016-10-03 115 views
0

我從這個循環散亂200個數據點:如何計算數據點的數量?

import math 
plt.figure() 

for i in range(200): 
    r=random.uniform(-1,1) 
    x=random.uniform(-1,1) 
    if math.sqrt(x**2+r**2)<1: 
     plt.plot(x,r,'r.') 
    else: 
     plt.plot(x,r,'k.') 
redraw() 

所以會有一些地塊符合if條件。我想知道這些點的數量。我該怎麼辦?

+3

添加一個變量,並遞增,如果在此一個。 (當然,它需要在循環之外創建) – sascha

+0

你想繪製一個陰影圓圈嗎? – Natecat

+0

@Natecat我認爲他正在逼近** pi **(通過蒙特卡洛採樣)。但是代碼仍然不完整。 – sascha

回答

3

你就只需要增加一個計數器,當條件滿足:

import math 
plt.figure() 

good_samples = 0 
for i in range(200): 
    r=random.uniform(-1,1) 
    x=random.uniform(-1,1) 
    if math.sqrt(x**2+r**2)<1: 
     plt.plot(x,r,'r.') 
     good_samples += 1 
    else: 
     plt.plot(x,r,'k.') 
redraw() 
print "Counted {} good samples".format(good_samples)