#!/usr/bin/python3
# -*- coding: utf-8 -*-


def lee_entero(cad):
    """Solicita un valor entero y lo devuelve. Mientras el valor ingresado no sea entero, vuelve a solicitarlo."""
    while True:
        valor = input(cad)
        try:
            valor = int(valor)
            return valor
        except ValueError:
            print("ATENCIÓN: Debe ingresar un número entero.")


def es_numero(valor):
    """revisa si el valor es un número (int, float, complex)"""
    if not isinstance(valor, (int, float, complex)):
        return False
    return True


def es_cadena(valor):
    """revisa si el valor es un número (int, float, complex)"""
    if not isinstance(valor, (str)):
        return False
    return True


""" Ejemplo para solicitar datos por teclado"""

n = 1
while n < 10 or n > 20:
    # Se imprime un numero decimal
    n = lee_entero("Introduce un número entre 10 y 20: ")
print(n)


print(es_numero(3))
print(es_numero(3.4))
print(es_numero(3.4 + 3.3j))
print(es_cadena("Hola"))
print(es_cadena(3))
print(es_cadena(3.4))
print(es_cadena(3.4 + 3.3j))