


from __future__ import annotations

from decimal import Decimal
from math import *  # noqa: F403

from sympy import diff





def 	_lowerCAmelCase       (    _lowerCAmelCase      ,	_lowerCAmelCase      ,	_lowerCAmelCase = 10**-10 )						->	float:


						'''simple docstring'''






						__snake_case				=		a
						while True:
												__snake_case				=		Decimal(_lowerCAmelCase ) - (
												    Decimal(eval(_lowerCAmelCase ) ) / Decimal(eval(str(diff(_lowerCAmelCase ) ) ) )  # noqa: S307
												)
												# This number dictates the accuracy of the answer
												if abs(eval(_lowerCAmelCase ) ) < precision:  # noqa: S307
																		return float(_lowerCAmelCase )


# 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
	print(f'''The root of x**2 - 5*x + 2 = 0 is {newton_raphson("x**2 - 5*x + 2", 0.4)}''')
	# Find Square Root of 5
	print(f'''The root of log(x) - 1 = 0 is {newton_raphson("log(x) - 1", 2)}''')
	# Exponential Roots
	print(f'''The root of exp(x) - 1 = 0 is {newton_raphson("exp(x) - 1", 0)}''')









from __future__ import annotations

import csv

import requests
from bsa import BeautifulSoup





def 	_lowerCAmelCase       (    _lowerCAmelCase = "" )						->	dict[str, float]:


						'''simple docstring'''






						__snake_case				=		url or "https://www.imdb.com/chart/top/?ref_=nv_mv_250"
						__snake_case				=		BeautifulSoup(requests.get(_lowerCAmelCase ).text      ,	"html.parser" )
						__snake_case				=		soup.find_all("td"      ,	attrs="titleColumn" )
						__snake_case				=		soup.find_all("td"      ,	class_="ratingColumn imdbRating" )
						return {
						    title.a.text: float(rating.strong.text )
						    for title, rating in zip(_lowerCAmelCase      ,	_lowerCAmelCase )
						}





def 	_lowerCAmelCase       (    _lowerCAmelCase = "IMDb_Top_250_Movies.csv" )						->	None:


						'''simple docstring'''






						__snake_case				=		get_imdb_top_aaa_movies()
						with open(_lowerCAmelCase      ,	"w"      ,	newline="" ) as out_file:
												__snake_case				=		csv.writer(_lowerCAmelCase )
												writer.writerow(["Movie title", "IMDb rating"] )
												for title, rating in movies.items():
																		writer.writerow([title, rating] )


if __name__ == "__main__":
	write_movies()





