


'''simple docstring'''






from __future__ import annotations

import math

__A :  Union[str, Any]    							=				"2020.9.26"
__A :  Union[str, Any]    							=				"xcodz-dot, cclaus, dhruvmanila"







def     UpperCamelCase_      (   A__ :       Optional[int]							,   A__ :       List[Any]							,   A__ :       Dict							,   A__ :       str							,   A__ :       int ):
		'''simple docstring'''





		if not all(isinstance(_lowerCAmelCase							,   (float, int) ) for val in locals().values() ):
				lowerCAmelCase_      :				Tuple      =       f'Input values must either be float or int: {list(locals().values() )}'
				raise TypeError(_lowerCAmelCase )
		lowerCAmelCase_      :				List[str]      =       ((x * distance) / (z + distance)) * scale
		lowerCAmelCase_      :				List[Any]      =       ((y * distance) / (z + distance)) * scale
		return projected_x, projected_y







def     UpperCamelCase_      (   A__ :       str							,   A__ :       Dict							,   A__ :       int							,   A__ :       Tuple							,   A__ :       Optional[Any] ):
		'''simple docstring'''





		if not isinstance(_lowerCAmelCase							,   _lowerCAmelCase ):
				raise TypeError("""Axis must be a str""" )
		lowerCAmelCase_      :				List[str]      =       locals()
		del input_variables["axis"]
		if not all(isinstance(_lowerCAmelCase							,   (float, int) ) for val in input_variables.values() ):
				lowerCAmelCase_      :				Union[str, Any]      =       (
				    """Input values except axis must either be float or int: """
				    f'{list(input_variables.values() )}'
				)
				raise TypeError(_lowerCAmelCase )
		lowerCAmelCase_      :				Optional[int]      =       (angle % 3_60) / 4_50 * 1_80 / math.pi
		if axis == "z":
				lowerCAmelCase_      :				Dict      =       x * math.cos(_lowerCAmelCase ) - y * math.sin(_lowerCAmelCase )
				lowerCAmelCase_      :				Any      =       y * math.cos(_lowerCAmelCase ) + x * math.sin(_lowerCAmelCase )
				lowerCAmelCase_      :				Union[str, Any]      =       z
		elif axis == "x":
				lowerCAmelCase_      :				Tuple      =       y * math.cos(_lowerCAmelCase ) - z * math.sin(_lowerCAmelCase )
				lowerCAmelCase_      :				Any      =       z * math.cos(_lowerCAmelCase ) + y * math.sin(_lowerCAmelCase )
				lowerCAmelCase_      :				Optional[int]      =       x
		elif axis == "y":
				lowerCAmelCase_      :				Tuple      =       x * math.cos(_lowerCAmelCase ) - z * math.sin(_lowerCAmelCase )
				lowerCAmelCase_      :				Optional[Any]      =       z * math.cos(_lowerCAmelCase ) + x * math.sin(_lowerCAmelCase )
				lowerCAmelCase_      :				List[str]      =       y
		else:
				raise ValueError("""not a valid axis, choose one of 'x', 'y', 'z'""" )

		return new_x, new_y, new_z


if __name__ == "__main__":
		import doctest

		doctest.testmod()
		print(F'''{convert_to_ad(1.0, 2.0, 3.0, 1_0.0, 1_0.0) = }''')
		print(F'''{rotate(1.0, 2.0, 3.0, 'y', 9_0.0) = }''')







'''simple docstring'''






from __future__ import annotations







def     UpperCamelCase_      (   A__ :       int | float | str							,   A__ :       int | float | str ):
  '''simple docstring'''





  if nth_term == "":
    return [""]
  lowerCAmelCase_      :				str      =       int(A__ )
  lowerCAmelCase_      :				Tuple      =       int(A__ )
  lowerCAmelCase_      :				list[str]      =       []
  for temp in range(int(A__ ) ):
    series.append(f'1 / {pow(temp + 1							,   int(A__ ) )}' if series else """1""" )
  return series


if __name__ == "__main__":
  import doctest

  doctest.testmod()

  __A :  str    							=				int(input("Enter the last number (nth term) of the P-Series"))
  __A :  Tuple    							=				int(input("Enter the power for  P-Series"))
  print("Formula of P-Series => 1+1/2^p+1/3^p ..... 1/n^p")
  print(p_series(nth_term, power))



