-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmult2.py
86 lines (62 loc) · 1.6 KB
/
mult2.py
1
# ECE 2524 Homework 3 Problem 1 Sumit Kumarimport fileinputimport sysimport argparseinfloop=0ans=1ib=0inn=0parser = argparse.ArgumentParser(description='Process some numbers')parser.add_argument('--ignore-non-numeric', action='store_const',const=1,default=0)parser.add_argument('--ignore-blank', action='store_const',const=1,default=0)parser.add_argument('input', nargs='*', type=str)args = parser.parse_args()if args.ignore_blank==1 : ib=1if args.ignore_non_numeric==1 : inn=1if len(args.input) > 0: for line in fileinput.input(args.input): try: var1 = line ans=ans*float(var1) except ValueError as e: if not var1.strip() and ib==1: continue elif not var1.strip(): print ans print "An empty line was found. Resetting answer.\nYou may use --ignore_blank to ignore empty lines." ans = 1 continue if inn==1: continue else: print e print "You may use --ignore_non_numeric to ignore non numeric characters." sys.exit(1) print ans#### WHEN FILES ARE NOT PROVIDED, REVERTS TO MANUAL IMPUTelse: print "Enter numbers to multiply" while infloop==0: try: var1 = raw_input("Enter Number: ") if not var1.strip() and ib==1: continue elif not var1.strip(): print "Use --ignore_blank" break else: x= float(var1) ans=ans*x except EOFError: print "\nEnd of file command has been received!" print "\nHere is your answer :", ans break except ValueError as e: if inn==1: continue else: print e print "You may use --ignore_non_numeric" sys.exit(1)