



"""simple docstring"""







from __future__ import annotations






def     _a (	UpperCAmelCase__     ,	UpperCAmelCase__     ,	UpperCAmelCase__     )						->    List[str]:
      if days_between_payments <= 0:
            raise ValueError('''days_between_payments must be > 0'''     )
      if daily_interest_rate < 0:
            raise ValueError('''daily_interest_rate must be >= 0'''     )
      if principal <= 0:
            raise ValueError('''principal must be > 0'''     )
      return principal * daily_interest_rate * days_between_payments






def     _a (	UpperCAmelCase__     ,	UpperCAmelCase__     ,	UpperCAmelCase__     ,	)						->    int:
      if number_of_compounding_periods <= 0:
            raise ValueError('''number_of_compounding_periods must be > 0'''     )
      if nominal_annual_interest_rate_percentage < 0:
            raise ValueError('''nominal_annual_interest_rate_percentage must be >= 0'''     )
      if principal <= 0:
            raise ValueError('''principal must be > 0'''     )

      return principal * (
          (1 + nominal_annual_interest_rate_percentage) ** number_of_compounding_periods
          - 1
      )






def     _a (	UpperCAmelCase__     ,	UpperCAmelCase__     ,	UpperCAmelCase__     ,	)						->    Any:
      if number_of_years <= 0:
            raise ValueError('''number_of_years must be > 0'''     )
      if nominal_annual_percentage_rate < 0:
            raise ValueError('''nominal_annual_percentage_rate must be >= 0'''     )
      if principal <= 0:
            raise ValueError('''principal must be > 0'''     )

      return compound_interest(
          __snake_case     ,	nominal_annual_percentage_rate / 3_65     ,	number_of_years * 3_65     )


if __name__ == "__main__":
       import doctest

       doctest.testmod()

'''simple docstring'''






def  _SCREAMING_SNAKE_CASE		(      __snake_case							:			str   ,		__snake_case							:			str   ,		__snake_case							:			List[Any]=False				):

     if isinstance(__snake_case   ,		__snake_case				) and isinstance(__snake_case   ,		__snake_case				):
          _A    		=  len(set_a.intersection(__snake_case				)				)

          if alternative_union:
               _A    		=  len(__snake_case				) + len(__snake_case				)
          else:
               _A    		=  len(set_a.union(__snake_case				)				)

          return intersection / union

     if isinstance(__snake_case   ,		(list, tuple)				) and isinstance(__snake_case   ,		(list, tuple)				):
          _A    		=  [element for element in set_a if element in set_b]

          if alternative_union:
               _A    		=  len(__snake_case				) + len(__snake_case				)
               return len(__snake_case				) / union
          else:
               _A    		=  set_a + [element for element in set_b if element not in set_a]
               return len(__snake_case				) / len(__snake_case				)

          return len(__snake_case				) / len(__snake_case				)
     return None


if __name__ == "__main__":
   _UpperCAmelCase    :     Optional[Any]         =       {'''a''', '''b''', '''c''', '''d''', '''e'''}
   _UpperCAmelCase    :     str         =       {'''c''', '''d''', '''e''', '''f''', '''h''', '''i'''}
   print(jaccard_similarity(set_a, set_b))



