Solución

@maiquez·5/10/2026TypeScript
solution.tsTypeScript
class NonNegative:
    def __set_name__(self, owner, name):
        self.name = name
        self.storage = f"_{name}"

    def __get__(self, instance, owner):
        if instance is None:
            return self
        # Retorna el valor almacenado
        return self.storage
        
    def __set__(self, instance, value):
        # Si el valor es negativo, lanza ValueError("valor negativo")
        # De lo contrario, almacena el valor en la instancia
        if value < 0:
            raise ValueError("valor negativo")
        else:
            self.storage = value


class Stock:
    quantity = NonNegative()


def test_nonnegative(value):
    s = Stock()
    try:
        s.quantity = value
        return {"valid": True, "stored": s.quantity}
    except ValueError as e:
        return {"valid": False, "error": str(e)}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.