"""simple docstring"""






def     UpperCAmelCase__ (       lowerCAmelCase__  :list[int]	)				->					float:
      '''simple docstring'''


      if not nums:  # Makes sure that the list is not empty
            raise ValueError("""List is empty"""	)

      lowercase														=			sum(lowerCAmelCase__	) / len(lowerCAmelCase__	)  # Calculate the average
      return sum(abs(x - average	) for x in nums	) / len(lowerCAmelCase__	)


if __name__ == "__main__":
       import doctest

       doctest.testmod()




"""simple docstring"""






# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


__lowerCAmelCase					: Union[str, Any]        =subprocess.check_output("""git merge-base main HEAD""".split()).decode("""utf-8""")
__lowerCAmelCase					: List[str]        =subprocess.check_output(F"""git diff --name-only {fork_point_sha}""".split()).decode("""utf-8""").split()

__lowerCAmelCase					: List[str]        ="""|""".join(sys.argv[1:])
__lowerCAmelCase					: Dict        =re.compile(RF"""^({joined_dirs}).*?\.py$""")

__lowerCAmelCase					: int        =[x for x in modified_files if regex.match(x)]
print(""" """.join(relevant_modified_files), end="""""")



