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
Esempio n. 2
0
 def test_hexa_10(self):
     result = hexa_decimal('A')
     self.assertEqual(result, 10)
Esempio n. 3
0
 def test_hexa_51489(self):
     result = hexa_decimal('C921')
     self.assertEqual(result, 51489)
Esempio n. 4
0
 def test_hexa_5(self):
     result = hexa_decimal('5')
     self.assertEqual(result, 5)
Esempio n. 5
0
 def test_hexa_234(self):
     result = hexa_decimal('EA')
     self.assertEqual(result, 234)
Esempio n. 6
0
 def test_hexa_1234(self):
     result = hexa_decimal('4D2')
     self.assertEqual(result, 1234)
Esempio n. 7
0
 def test_hexa_4095(self):
     result = hexa_decimal('FFF')
     self.assertEqual(result, 4095)
Esempio n. 8
0
 def test_hexa_16(self):
     result = hexa_decimal('10')
     self.assertEqual(result, 16)
Esempio n. 9
0
 def test_hexa_17(self):
     result = hexa_decimal('11')
     self.assertEqual(result, 17)