


import random







class      __lowercase  :





							"""simple docstring"""







							def __init__(	self       ,		lowerCAmelCase__       ,		lowerCAmelCase__    ):





										"""simple docstring"""




										SCREAMING_SNAKE_CASE_						:			Any       						= x
										SCREAMING_SNAKE_CASE_						:			int       						= y






							def  UpperCamelCase__			(	self    ):





										"""simple docstring"""




										return (self.x**2 + self.y**2) <= 1






							@classmethod
							def  UpperCamelCase__			(	cls    ):





										"""simple docstring"""




										return cls(x=random.random()       ,		y=random.random()    )







def 		a__       (							A__							):
			if number_of_simulations < 1:
						raise ValueError('At least one simulation is necessary to estimate PI.'							)

			SCREAMING_SNAKE_CASE_						:			List[Any]       						= 0
			for _ in range(A__							):
						SCREAMING_SNAKE_CASE_						:			List[str]       						= 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

				lowerCAmelCase__       :	List[Any]     				='Please enter the desired number of Monte Carlo simulations: '
				lowerCAmelCase__       :	str     				=estimate_pi(int(input(prompt).strip()))
				print(F"""An estimate of PI is {my_pi} with an error of {abs(my_pi - pi)}""")













"""simple docstring"""
from cva import destroyAllWindows, imread, imshow, waitKey






def        lowerCamelCase_  (						_lowerCamelCase			,   _lowerCamelCase				):
 lowerCamelCase__				,     lowerCamelCase__     :			Optional[Any]     				=						img.shape[0], img.shape[1]

 def to_grayscale(_lowerCamelCase			,   _lowerCamelCase			,   _lowerCamelCase				):
  return 0.2_126 * red + 0.587 * green + 0.114 * blue

 def normalize(_lowerCamelCase				):
  return min(_lowerCamelCase			,   255				)

 for i in range(_lowerCamelCase				):
  for j in range(_lowerCamelCase				):
   lowerCamelCase__     :			List[Any]     				=						int(to_grayscale(*img[i][j]				)				)
   lowerCamelCase__     :			Optional[int]     				=						[
       normalize(_lowerCamelCase				),
       normalize(greyscale + factor				),
       normalize(greyscale + 2 * factor				),
   ]

 return img


if __name__ == "__main__":
      # read original image
      A_			: List[str]				=			{
          percentage: imread("image_data/lena.jpg", 1) for percentage in (10, 20, 30, 40)
      }

      for percentage, img in images.items():
            make_sepia(img, percentage)

      for percentage, img in images.items():
            imshow(f"Original image with sepia (factor: {percentage})", img)

      waitKey(0)
      destroyAllWindows()

