def convert(self): out_widget = self.widgets['output'] out_widget.configure(state=tk.NORMAL) out_widget.delete('0.0', tk.END) chars = self.widgets['input'].get() out_widget.insert(tk.INSERT, self.format_output(Converter.convert_many(chars))) out_widget.configure(state=tk.DISABLED)
COLUMN_WIDTH = 15 keys = ['original', 'decimal', 'hex', 'binary'] print_string = '{: <%s}' % COLUMN_WIDTH + '{: >%s}' % COLUMN_WIDTH * 3 # Print header: print(print_string.format('Letter', 'Decimal', 'Hex', 'Binary')) for i in data: output = { 'original': '', 'decimal': 'N/A', 'hex': 'N/A', 'binary': 'N/A' } for key in keys: try: output[key] = i[key] except KeyError: # Catch error and silence. Default value is already assigned in output instantiantion. pass print( print_string.format(output['original'], output['decimal'], output['hex'], output['binary'])) if __name__ == '__main__': if len(sys.argv) < 2: i = input("Input characters: ") else: i = sys.argv[1] print_table(Converter.convert_many(i))