b.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import os, argparse
  2. def solve_task(filename):
  3. with open(filename) as infile:
  4. for raw_line in infile:
  5. line = raw_line.rstrip()
  6. inputs = [int(x) for x in line.split(',')]
  7. bins = {x:0 for x in range(9)}
  8. for i in inputs:
  9. bins[i] += 1
  10. print(bins)
  11. for day in range(256):
  12. next_bin = {x:0 for x in range(9)}
  13. for key,val in bins.items():
  14. if key == 0:
  15. next_bin[6] += val
  16. next_bin[8] = val
  17. else:
  18. next_bin[key-1] += val
  19. bins = next_bin
  20. number_of_fish = 0
  21. for k,fish in bins.items():
  22. number_of_fish += fish
  23. print(number_of_fish)
  24. os.system("pause")
  25. def parse_arguments():
  26. parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
  27. parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
  28. args = parser.parse_args()
  29. return args
  30. def main():
  31. args = parse_arguments()
  32. solve_task(args.filename)
  33. if __name__ == "__main__":
  34. main()