


"""simple docstring"""
def 				_snake_case      (   __snake_case							:      float						, __snake_case							:      float						, __snake_case							:      int   ):




   """simple docstring"""







   if principal <= 0:
      raise Exception("""Principal borrowed must be > 0"""   )
   if rate_per_annum < 0:
      raise Exception("""Rate of interest must be >= 0"""   )
   if years_to_repay <= 0 or not isinstance(__snake_case						, __snake_case   ):
      raise Exception("""Years to repay must be an integer > 0"""   )

   # Yearly rate is divided by 12 to get monthly rate
   _lowerCamelCase	:					Tuple   =		rate_per_annum / 12

   # Years to repay is multiplied by 12 to get number of payments as payment is monthly
   _lowerCamelCase	:					str   =		years_to_repay * 12

   return (
       principal
       * rate_per_month
       * (1 + rate_per_month) ** number_of_payments
       / ((1 + rate_per_month) ** number_of_payments - 1)
   )


if __name__ == "__main__":
 import doctest

 doctest.testmod()





'''simple docstring'''


def      snake_case_  (    SCREAMING_SNAKE_CASE__	):







				"""simple docstring"""





				return "".join(chr(ord(SCREAMING_SNAKE_CASE__	) - 32	) if """a""" <= char <= """z""" else char for char in word	)


if __name__ == "__main__":
				from doctest import testmod

				testmod()




