Help with if statement
Jikosan
jikosan at myrealbox.com
Sun Jan 11 04:49:41 EST 2004
I got it working. I had originally misread the prompt.
Here's the code I finally got working. It calculates PI using the Monte
Carlo method.
I have to graph log N vs log PI, which explains the last few lines of the
program.
Gene
#HW1 - 1.5.2
#This code was written in the Python programming language.
import random #Loads the random number generator library.
import math #Loads the math library.
file=open('output.txt', 'w') #Identifies output file.
a, b = -1.0, 1.0 #Sets the boundary conditions for (x,y).
for N in range(0, 100000, 25): #4000 trials, 1<= N <= 100000 at steps of
25.
if N == 0:
N = 1
onecheck = 0
for n in range(0,N): #This for loop generates (x,y) sets N times.
xrand = random.random()
yrand = random.random()
x = a * (1.0-(xrand)) + b*(xrand)
y = a * (1.0-(yrand)) + b*(yrand)
c = math.sqrt(math.pow(x,2.0) + math.pow(y,2.0)) #Calculates the
distance to origin.
if c < 1:
onecheck = onecheck+1
pi = 4.0*(onecheck*math.pow(N,-1)) #This is to calculate P(N), the
ratio of points whose
#distance is less than 1 to the
total number of trials.
if pi == 0.0: #Prevent 'log 0' calculation errors
pi == 1.0
#Convert pi and N to log10 and write to a file to graph on Excel.
file.write(str(math.log(N, 10)))
file.write(' ')
file.write(str(math.log(pi, 10)))
file.write('\n')
file.close()
More information about the Python-list
mailing list