code: 
  
  
  
  import random
  
  
  
  
  
  
  class 	lowercase		:
  
  
  
  
  
  
  	"""simple docstring"""
  
  
  	def __init__(			self			:		Optional[Any]		,						__UpperCAmelCase			:		Union[str, Any]		,						__UpperCAmelCase			:		Union[str, Any]  )    ->				Any:
  							UpperCAmelCase_=     x
  							UpperCAmelCase_=     y
  
  
  
  
  	def 						_SCREAMING_SNAKE_CASE	(			self			:		List[str]  )    ->				List[Any]:
  							return (self.x**2 + self.y**2) <= 1
  
  
  
  
  	@classmethod
  	def 						_SCREAMING_SNAKE_CASE	(			cls			:		Optional[int]  )    ->				Any:
  							return cls(x=random.random()		,						y=random.random()  )
  
  
  
  def  __a  (					lowerCAmelCase_     :      int       )   ->				Tuple:
  
  
  
  
  
  
  						'''simple docstring'''
  
  
  
  						if number_of_simulations < 1:
  												raise ValueError("""At least one simulation is necessary to estimate PI."""       )
  
  						UpperCAmelCase_=     0
  						for _ in range(lowerCAmelCase_       ):
  												UpperCAmelCase_=     Point.random_unit_square()
  
  												if random_point.is_in_unit_circle():
  																		number_in_unit_circle += 1
  
  						return 4 * number_in_unit_circle / number_of_simulations
  
  
  if __name__ == "__main__":
  	# import doctest
  
  	# doctest.testmod()
  	from math import pi
  
  	__A       					=		"""Please enter the desired number of Monte Carlo simulations: """
  	__A       					=		estimate_pi(int(input(prompt).strip()))
  	print(f'An estimate of PI is {my_pi} with an error of {abs(my_pi - pi)}')
  
  
  
  
  
style_context: 
  
  
  
  from .prime_check import Test
  
  Test()
  
  
  
  
  