


"""simple docstring"""






import argparse
import datetime
def 	lowerCamelCase			(	_UpperCamelCase						: str				)						->			str:

							'''simple docstring'''



							__UpperCAmelCase  :		Optional[Any] 				=   {
							    '''0''': '''Sunday''',
							    '''1''': '''Monday''',
							    '''2''': '''Tuesday''',
							    '''3''': '''Wednesday''',
							    '''4''': '''Thursday''',
							    '''5''': '''Friday''',
							    '''6''': '''Saturday''',
							}

							__UpperCAmelCase  :		Optional[int] 				=   {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

							# Validate
							if not 0 < len(_UpperCamelCase				) < 1_1:
														raise ValueError("""Must be 10 characters long"""				)

							# Get month
							__UpperCAmelCase  :		int 				=   int(date_input[0] + date_input[1]				)
							# Validate
							if not 0 < m < 1_3:
														raise ValueError("""Month must be between 1 - 12"""				)

							__UpperCAmelCase  :		str 				=   date_input[2]
							# Validate
							if sep_a not in ["-", "/"]:
														raise ValueError("""Date separator must be \'-\' or \'/\'"""				)

							# Get day
							__UpperCAmelCase  :		int 				=   int(date_input[3] + date_input[4]				)
							# Validate
							if not 0 < d < 3_2:
														raise ValueError("""Date must be between 1 - 31"""				)

							# Get second separator
							__UpperCAmelCase  :		str 				=   date_input[5]
							# Validate
							if sep_a not in ["-", "/"]:
														raise ValueError("""Date separator must be \'-\' or \'/\'"""				)

							# Get year
							__UpperCAmelCase  :		int 				=   int(date_input[6] + date_input[7] + date_input[8] + date_input[9]				)
							# Arbitrary year range
							if not 4_5 < y < 8_5_0_0:
														raise ValueError(
														    """Year out of range. There has to be some sort of limit...right?"""				)

							# Get datetime obj for validation
							__UpperCAmelCase  :		List[Any] 				=   datetime.date(int(_UpperCamelCase				)			,     int(_UpperCamelCase				)			,     int(_UpperCamelCase				)				)

							# Start math
							if m <= 2:
														__UpperCAmelCase  :		Optional[Any] 				=   y - 1
														__UpperCAmelCase  :		Dict 				=   m + 1_2
							# maths var
							__UpperCAmelCase  :		int 				=   int(str(_UpperCamelCase				)[:2]				)
							__UpperCAmelCase  :		int 				=   int(str(_UpperCamelCase				)[2:]				)
							__UpperCAmelCase  :		int 				=   int(2.6 * m - 5.39				)
							__UpperCAmelCase  :		int 				=   int(c / 4				)
							__UpperCAmelCase  :		int 				=   int(k / 4				)
							__UpperCAmelCase  :		int 				=   int(d + k				)
							__UpperCAmelCase  :		int 				=   int(t + u + v + x				)
							__UpperCAmelCase  :		int 				=   int(z - (2 * c)				)
							__UpperCAmelCase  :		int 				=   round(w % 7				)
							# End math

							# Validate math
							if f != convert_datetime_days[dt_ck.weekday()]:
														raise AssertionError("""The date was evaluated incorrectly. Contact developer."""				)

							# Response
							__UpperCAmelCase  :		str 				=   f'''Your date {date_input}, is a {days[str(_UpperCamelCase				)]}!'''
							return response


if __name__ == "__main__":
							import doctest

							doctest.testmod()
							UpperCAmelCase       :	Dict  		=						argparse.ArgumentParser(
							    description=(
							        'Find out what day of the week nearly any date is or was. Enter '
							        'date as a string in the mm-dd-yyyy or mm/dd/yyyy format'
							    )
							)
							parser.add_argument(
							    'date_input', type=str, help='Date as a string (mm-dd-yyyy or mm/dd/yyyy)'
							)
							UpperCAmelCase       :	int  		=						parser.parse_args()
							zeller(args.date_input)

from sympy import diff, lambdify, symbols
from sympy.functions import *  # noqa: F403




def    lowerCAmelCase_  (		lowercase:				str	,       lowercase:				complex	,       lowercase:				str = "x"	,       lowercase:				float = 10**-10	,       lowercase:				int = 1	,       )     ->					complex:







 '''simple docstring'''
 _UpperCamelCase:  Any    						=			symbols(lowercase		)
 _UpperCamelCase:  str    						=			lambdify(lowercase	,       lowercase		)
 _UpperCamelCase:  str    						=			lambdify(lowercase	,       diff(lowercase	,       lowercase		)		)

 _UpperCamelCase:  Optional[int]    						=			starting_point

 while True:
  if diff_function(lowercase		) != 0:
   _UpperCamelCase:  int    						=			prev_guess - multiplicity * func(lowercase		) / diff_function(
       lowercase		)
  else:
   raise ZeroDivisionError('''Could not find root'''		) from None

  # Precision is checked by comparing the difference of consecutive guesses
  if abs(next_guess - prev_guess		) < precision:
   return next_guess

  _UpperCamelCase:  Any    						=			next_guess


# Let's Execute
if __name__ == "__main__":
  # Find root of trigonometric function
  # Find value of pi
  print(f"""The root of sin(x) = 0 is {newton_raphson('sin(x)', 2)}""")

  # Find root of polynomial
  # Find fourth Root of 5
  print(f"""The root of x**4 - 5 = 0 is {newton_raphson('x**4 -5', 0.4 +5J)}""")

  # Find value of e
  print(
      '''The root of log(y) - 1 = 0 is ''',
      f"""{newton_raphson('log(y) - 1', 2, variable='y')}""",
  )

  # Exponential Roots
  print(
      '''The root of exp(x) - 1 = 0 is''',
      f"""{newton_raphson('exp(x) - 1', 1_0, precision=0.0_0_5)}""",
  )

  # Find root of cos(x)
  print(f"""The root of cos(x) = 0 is {newton_raphson('cos(x)', 0)}""")