#! /usr/bin/python3 # =================================================================== # user interface functions # (see the example code at the end of this file) # =================================================================== import os import sys import platform # ------------------------------------------------------------------- # ---- running Python3? # ------------------------------------------------------------------- def running_python3(): if sys.version_info[0] == 3: return True return False # ------------------------------------------------------------------- # ---- prompt the user for input # ------------------------------------------------------------------- def get_user_input(prompt): return input(prompt).strip() # ------------------------------------------------------------------- # ---- pause program # ------------------------------------------------------------------- def pause(): print() get_user_input('Press enter to continue ') # ------------------------------------------------------------------- # ---- clear the terminal screen (window) # ------------------------------------------------------------------- def clear_screen(): if platform.system() == 'Linux': os.system('clear') elif platform.system() == 'Windows': os.system('clear') else: os.system('cls') # ------------------------------------------------------------------- # ---- Function: convert a string to a float # ------------------------------------------------------------------- def is_float(s): try: n = float(s) return (True,n) except: return (False,0.0) # ------------------------------------------------------------------- # ---- Function: convert a string to an integer # ------------------------------------------------------------------- def is_int(s): try: n = int(s) return (True,n) except: return (False,0) def is_integer(s): return is_int(s) # ------------------------------------------------------------------- # ---- is a number (integer, float, scientific notation) # ------------------------------------------------------------------- def is_a_number(s): tf,n = is_int(s) if tf: return True tf,n = is_float(s) if tf: return True return False # ------------------------------------------------------------------- # ---- query yes/no # ------------------------------------------------------------------- def query_yes_no(p=' [yY]: '): ans = ui.get_user_input(p) if not ans: return False if ans[0] == 'y' or ans[0] == 'Y': return True return False # ------------------------------------------------------------------- # ---- main # ------------------------------------------------------------------- if __name__ == '__main__': if not running_python3(): print() print('Must run Python3 - exit program') print() sys.exit() while True: # loop clear_screen() print() s = get_user_input('Enter data: ') if not s: # empty string? break (tf,n) = is_int(s) if tf: print() print(f'You entered an integer {n}') pause() continue (tf,n) = is_float(s) if tf: print() print(f'You entered a float {n}') pause() continue print() print(f'You entered a string "{s}"') pause() print()