exceptions.py 721 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env python3
  2. # Copyright 2009-2017 BHG http://bw.org/
  3. def inclusive_range(*args):
  4. numargs = len(args)
  5. start = 0
  6. step = 1
  7. # initialize parameters
  8. if numargs < 1:
  9. raise TypeError(f'expected at least 1 argument, got {numargs}')
  10. elif numargs == 1:
  11. stop = args[0]
  12. elif numargs == 2:
  13. (start, stop) = args
  14. elif numargs == 3:
  15. (start, stop, step) = args
  16. else: raise TypeError(f'expected at most 3 arguments, got {numargs}')
  17. # generator
  18. i = start
  19. while i <= stop:
  20. yield i
  21. i += step
  22. def main():
  23. for i in inclusive_range(25):
  24. print(i, end = ' ', flush = True)
  25. print()
  26. if __name__ == '__main__': main()