a.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import os, argparse, math
  2. import numpy as np
  3. def solve_task(filename):
  4. data = np.genfromtxt(filename, delimiter=',', dtype='int')
  5. sorted_data = np.sort(data)
  6. median = None
  7. if len(sorted_data) % 2:
  8. median = sorted_data[len(sorted_data)//2]
  9. else:
  10. median = (sorted_data[len(sorted_data)//2] + sorted_data[len(sorted_data)//2+1])/2
  11. median = np.median(data)
  12. print("The median is: " + str(median))
  13. bins = {}
  14. for k in sorted_data:
  15. if k not in bins:
  16. bins[k] = 1
  17. else:
  18. bins[k] += 1
  19. fuel = 0
  20. for k, v in bins.items():
  21. fuel += abs(k-median)*v
  22. print("Fuel: " + str(fuel))
  23. os.system("pause")
  24. def parse_arguments():
  25. parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
  26. parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
  27. args = parser.parse_args()
  28. return args
  29. def main():
  30. args = parse_arguments()
  31. solve_task(args.filename)
  32. if __name__ == "__main__":
  33. main()