import sys from converter import Converter def get_input(msg = ''): if (sys.version_info > (3, 0)): return input(msg) else: return raw_input(msg) def is_int_or_float(value): return value.isdigit() def process_check(value, callback): if value == 'Q' or value == 'q': user_selected(value) elif value == 'C' or value == 'c': if (callback.__name__ == 'process_px_to_rem'): process_rem_to_px() return else: process_px_to_rem() return elif is_int_or_float(value) == False: print("Warning:: Allowed number only! Or if you need to qute plesae enter Q.\n") callback() def process_px_to_rem(): px = get_input("[PX to REM] Enter a number of px that need to convert to rem. Enter C to Change to [REM to PX] or Q to quit!\n") process_check(px, process_px_to_rem) rem = Converter().px_to_rem(px) print("%spx == %srem" % (px, rem)) process_px_to_rem() def process_rem_to_px(): rem = get_input("[REM to PX] Enter a number of rem that need to convert to px. Enter C to Change to [PX to REM] or Q to quit!\n") process_check(rem, process_rem_to_px) px = Converter().rem_to_px(rem) print("%srem == %spx" % (rem, px)) process_rem_to_px() def user_selected(user_input): if user_input == 'A' or user_input == 'a': # PX to REM process_px_to_rem() elif user_input == 'B' or user_input == 'b': # REM to PX process_rem_to_px() elif user_input == 'Q' or user_input == 'q': print("Nice to meet you. See you next time!") exit() else: print(""" Please Selected A or B to continue, Q to quit... """) user_input = get_input() user_selected(user_input) # Start user_input = get_input(""" Please select your converter. A. PX to REM B. REM to PX """); user_selected(user_input)