

'''simple docstring'''

from __future__ import annotations




def 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_  ,	UpperCAmelCase_     ):
 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 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_  ,	UpperCAmelCase_  ,	):
 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 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_  ,	UpperCAmelCase_  ,	):
 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(
     UpperCAmelCase_  ,	nominal_annual_percentage_rate / 3_65  ,	number_of_years * 3_65     )


if __name__ == "__main__":
 import doctest

 doctest.testmod()







'''simple docstring'''

from __future__ import annotations




def 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_  ,	UpperCAmelCase_     ):
 if len(UpperCAmelCase_     ) == 0:
  raise ValueError('find_max() arg is an empty sequence'     )
 if (
     left >= len(UpperCAmelCase_     )
     or left < -len(UpperCAmelCase_     )
     or right >= len(UpperCAmelCase_     )
     or right < -len(UpperCAmelCase_     )
 ):
  raise IndexError('list index out of range'     )
 if left == right:
  return nums[left]
 UpperCAmelCase	:     Optional[int]						 =			(left + right) >> 1  # the middle
 UpperCAmelCase	:     Any						 =			find_max(UpperCAmelCase_  ,	UpperCAmelCase_  ,	UpperCAmelCase_     )  # find max in range[left, mid]
 UpperCAmelCase	:     Union[str, Any]						 =			find_max(UpperCAmelCase_  ,	mid + 1  ,	UpperCAmelCase_     )  # find max in range[mid + 1, right]

 return left_max if left_max >= right_max else right_max


if __name__ == "__main__":
 import doctest

 doctest.testmod(verbose=True)




