Question: a) Modify the solution (If you use the solution, you need to add comments as well) to include interaction with the user by asking the

a) Modify the solution (If you use the solution, you need to add comments as well) to include interaction with the user by asking the user for the number of iterations that should be performed to estimate Pi.

b) Add output to the code that prints the difference between the actual value of Pi and your estimate along with the number of iterations. Formulate the output as a single string.

c) Now increase the number of random numbers you use, by factors of 10, for a minimum of 5 steps. Observe what happens with the approximation of Pi. By what factor do you have to increase the number of iterations to get one more correct digit after the radix point? Keep track of the result and either plot it using Python (not necessary at this point), or by hand using a scatterplot showing the number of digits produced correctly on the y axis and the number of iterations on the x axis).

Submit the file with your commented code and either a screenshot of your graph or a picture showing your scatterplot drawn by hand to the appropriate dropbox.

import random import math import time inside = 0 outside = 0 iterations = 10000 random.seed(int(round(time.time()*1000))) for i in range(iterations): # select two random numbers between 0 and 1 x = random.random() y = random.random() # calculate distance from origin r = math.sqrt(x*x+y*y) # increment the appropriate counter if r < 1 : inside = inside + 1 else: outside = outside + 1 print("inside: ", inside, " outside: ", outside) # calculate the value of Pi myPi = 4*inside/iterations print (myPi)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!