


'''simple docstring'''






__UpperCAmelCase       							=				8.314_4598


def    _snake_case  (	A					,       A			)		->       float:
							if temperature < 0:
														raise Exception('''Temperature cannot be less than 0 K'''			)
							if molar_mass <= 0:
														raise Exception('''Molar mass cannot be less than or equal to 0 kg/mol'''			)
							else:
														return (3 * UNIVERSAL_GAS_CONSTANT * temperature / molar_mass) ** 0.5


if __name__ == "__main__":
		import doctest

		# run doctest
		doctest.testmod()

		# example
		__UpperCAmelCase       							=				300
		__UpperCAmelCase       							=				28
		__UpperCAmelCase       							=				rms_speed_of_molecule(temperature, molar_mass)
		print(f"""Vrms of Nitrogen gas at 300 K is {vrms} m/s""")



'''simple docstring'''






from collections.abc import Callable

import numpy as np


def    _snake_case  (	A					,       A					,       A					,       A					,       A			)		->       np.array:
							lowerCAmelCase__			  =      int(np.ceil((x_end - xa) / step_size			)			)
							lowerCAmelCase__			  =      np.zeros((n + 1,)			)
							lowerCAmelCase__			  =      ya
							lowerCAmelCase__			  =      xa

							for k in range(A			):
														lowerCAmelCase__			  =      y[k] + step_size * ode_func(A					,       y[k]			)
														lowerCAmelCase__			  =      y[k] + (
														    (step_size / 2) * (ode_func(A					,       y[k]			) + ode_func(x + step_size					,       A			))
														)
														x += step_size

							return y


if __name__ == "__main__":
		import doctest

		doctest.testmod()