




'''simple docstring'''


from __future__ import annotations
def 						snake_case_       (UpperCamelCase			:    float					,		UpperCamelCase			:    float					,		UpperCamelCase			:    float ):





							'''simple docstring'''


							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 						snake_case_       (UpperCamelCase			:    float					,		UpperCamelCase			:    float					,		UpperCamelCase			:    float					,		):





							'''simple docstring'''


							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 						snake_case_       (UpperCamelCase			:    float					,		UpperCamelCase			:    float					,		UpperCamelCase			:    float					,		):





							'''simple docstring'''


							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 / 365					,		number_of_years * 365 )


if __name__ == "__main__":
				import doctest

				doctest.testmod()






'''simple docstring'''

from __future__ import annotations

SCREAMING_SNAKE_CASE__     :						List[Any]	=  1.6021e-19  # units = C






def 				a  (     UpperCamelCase_    :    float      ,					UpperCamelCase_    :    float      ,					UpperCamelCase_    :    float      ,					)       ->	tuple[str, float]:
		if (conductivity, electron_conc, mobility).count(0			) != 1:
				raise ValueError('You cannot supply more or less than 2 values'			)
		elif conductivity < 0:
				raise ValueError('Conductivity cannot be negative'			)
		elif electron_conc < 0:
				raise ValueError('Electron concentration cannot be negative'			)
		elif mobility < 0:
				raise ValueError('mobility cannot be negative'			)
		elif conductivity == 0:
				return (
				    "conductivity",
				    mobility * electron_conc * ELECTRON_CHARGE,
				)
		elif electron_conc == 0:
				return (
				    "electron_conc",
				    conductivity / (mobility * ELECTRON_CHARGE),
				)
		else:
				return (
				    "mobility",
				    conductivity / (electron_conc * ELECTRON_CHARGE),
				)


if __name__ == "__main__":
			import doctest

			doctest.testmod()




