Advertisement
AaronDeadman

Square root from stdin

Aug 8th, 2015
618
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1. from __future__ import print_function
  2. import sys
  3. import math
  4. import select, time
  5.  
  6. if len(sys.argv) != 2:
  7.     print("Expects one argument for logfile name.", file=sys.stderr)
  8.     exit(1)
  9.  
  10. import logging
  11. logger = logging.getLogger("SquareRooter")
  12. logger.setLevel(logging.DEBUG)
  13. fh = logging.FileHandler(sys.argv[1])
  14. logger.addHandler(fh)
  15.  
  16. shouldEnd=False
  17. while(not shouldEnd):
  18.     if select.select([sys.stdin,],[],[],0.0)[0]:
  19.         try:
  20.             line=raw_input()
  21.             logger.debug("%s received as input." % line)
  22.             try:
  23.                 num=int(line)
  24.                 if num < 0:
  25.                     print("No natural square root of %d" % num, file=sys.stderr)
  26.                 else:
  27.                     print(math.sqrt(num))
  28.                     sys.stdout.flush()
  29.             except ValueError:
  30.                 print("Not a number.", file=sys.stderr)
  31.         except EOFError:
  32.             shouldEnd=True
  33.             break
  34.     else:
  35.         time.sleep(0.1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement