




from __future__ import annotations

def 			_SCREAMING_SNAKE_CASE			(							lowercase	:       list     ):


      '''simple docstring'''



      if not nums:
            raise ValueError('List is empty'     )
      return sum(lowercase     ) / len(lowercase     )


if __name__ == "__main__":
 import doctest

 doctest.testmod()









from collections.abc import Callable

import numpy as np

def 			_SCREAMING_SNAKE_CASE			(							lowercase	:       Callable	,							lowercase	:       float	,							lowercase	:       float	,							lowercase	:       float	,							lowercase	:       float     ):


      '''simple docstring'''



      lowerCamelCase_		     =    int(np.ceil((x_end - xa) / step_size     )     )
      lowerCamelCase_		     =    np.zeros((n + 1,)     )
      lowerCamelCase_		     =    ya
      lowerCamelCase_		     =    xa

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

      return y


if __name__ == "__main__":
 import doctest

 doctest.testmod()



