
from __future__ import annotations

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

from sympy import diff






def    lowerCamelCase__				(				__lowerCAmelCase  :  str    ,							__lowerCAmelCase  :  float | Decimal    ,							__lowerCAmelCase  :  float = 10**-10				):




			"""simple docstring"""


			lowerCAmelCase_						=	a
			while True:
						lowerCAmelCase_						=	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)}""")





import requests

_A   =     "https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey="






def    lowerCamelCase__				(				__lowerCAmelCase  :  str				):




			"""simple docstring"""


			lowerCAmelCase_						=	requests.get(_NEWS_API + bbc_news_api_key				).json()
			# each article in the list is a dict
			for i, article in enumerate(bbc_news_page["articles"]    ,							1				):
						print(F"""{i}.) {article['title']}"""				)


if __name__ == "__main__":
			fetch_bbc_news(bbc_news_api_key="<Your BBC News API key goes here>")



