def interfaz_hexadecimal(valor): try: hexadecimal = valor.upper() #por si el usuario escribe en minusculas validos = { '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15 } #creo un diccionario con caracteres validos for letter in hexadecimal: if letter in validos: pass else: raise ValorNoValido #si un caracter no esta dentro del diccionario de validos largo una exception return hexa_decimal(hexadecimal) except ValorNoValido: print("---------ERROR----------") print('El valor no es valido') print('\n') return False except Exception as ex: #por las dudas que se me pase algo print("---------ERROR----------") print("Disculpe,solo acepto numeros hexadecimales positivos") print(ex) #imprimo la excepcion para saber que sucedio print('\n') return False #devuelvo valores booleanos para poder compararlos en el test
def test_hexa_10(self): result = hexa_decimal('A') self.assertEqual(result, 10)
def test_hexa_51489(self): result = hexa_decimal('C921') self.assertEqual(result, 51489)
def test_hexa_5(self): result = hexa_decimal('5') self.assertEqual(result, 5)
def test_hexa_234(self): result = hexa_decimal('EA') self.assertEqual(result, 234)
def test_hexa_1234(self): result = hexa_decimal('4D2') self.assertEqual(result, 1234)
def test_hexa_4095(self): result = hexa_decimal('FFF') self.assertEqual(result, 4095)
def test_hexa_16(self): result = hexa_decimal('10') self.assertEqual(result, 16)
def test_hexa_17(self): result = hexa_decimal('11') self.assertEqual(result, 17)