El operador NOT es uno de los operadores lógicos fundamentales en Python que se utiliza para negar valores booleanos. Esta herramienta es esencial para situaciones en donde se requiere invertir el resultado de una operación lógica. Comprender cómo funciona este operador incrementa nuestras habilidades de programación al permitir la construcción de condiciones más complejas y controladas.
¿Cómo funciona el operador NOT?
El operador NOT invierte el valor de un booleano. Es bastante sencillo: si el valor es TRUE, el operador NOT lo convierte en FALSE y viceversa. Este operador proporciona una forma poderosa de alterar la lógica de una operación, convirtiéndolo en un recurso invaluable en la programación.
Código simple para demostrar NOT
valor =Trueprint(not valor)# Esto imprimirá False, ya que NOT invierte el valor original.
¿Cómo aplicar el operador NOT a una operación?
El operador NOT no solo puede aplicarse a valores booleanos simples sino también a operaciones lógicas completas. Al anteponer NOT a una operación compuesta, nos permite invertir los resultados de toda la evaluación lógica.
Ejemplo con operador AND
Supongamos que tenemos la siguiente operación utilizando AND:
valor1 =Truevalor2 =Trueresultado = valor1 and valor2 # Esto normalmente sería True.print(not resultado)# Al aplicar NOT, ahora devuelve False.
¿Cómo implementar NOT en validaciones de stock?
El operador NOT es útil al trabajar con validaciones de rangos, como en el manejo de stock. A continuación, se muestra cómo podemos usar NOT para verificar que un número no esté dentro de un rango específico. Esto se puede lograr negando la operación que valida el rango.
Ejemplo de validación de stock
stock =int(input("Ingresa el número del stock: "))ifnot(stock >=100and stock <=1000):print("El stock no está dentro del rango permitido.")else:print("El stock está dentro del rango permitido.")
En este ejemplo, la condición not (stock >= 100 and stock <= 1000) verifica números que no se encuentran en el rango de 100 a 1000.
¿Qué otros operadores lógicos existen en Python?
Además del operador NOT, en Python encontramos otros operadores lógicos esenciales como AND y OR. Cada uno tiene un uso y propósito específico que se suma al potente conjunto de herramientas lógicas de Python.
¿Qué hace el operador AND?
El operador AND evalúa dos expresiones y retorna TRUE solo cuando ambas son verdaderas.
Ejemplo del uso de AND
condicion1 =Truecondicion2 =Falseresultado = condicion1 and condicion2 # Esto será False, ya que ambos deben ser True.
¿Cómo funciona el operador OR?
El operador OR retorna TRUE si al menos una de las expresiones evaluadas es TRUE.
Ejemplo del uso de OR
condicion1 =Falsecondicion2 =Trueresultado = condicion1 or condicion2 # Esto será True, ya que uno de los dos es True.
Aplicaciones prácticas de los operadores lógicos en Python
Los operadores lógicos como NOT, AND, y OR son fundamentales en la programación por la flexibilidad que aportan en el control de flujos y decisiones. Estos operadores permiten:
Evaluar condiciones complejas.
Controlar la ejecución de bloques de código basado en múltiples criterios.
Aumentar la legibilidad y manejabilidad de los scripts de Python.
Comprender y saber aplicar correctamente estos operadores mejora significativamente la capacidad para resolver problemas mediante programación efectiva. ¡Invitamos a seguir explorando y experimentando con estas herramientas para afinar las habilidades en Python!
Es buena la representación de las tablas de verdad y al mismo tiempo de las compuertas digitales para poner en practica conocimientos digitales
Esto me trae buenos recuerdos de la universidad: compuertas lógicas, en la asignatura de sistemas digitales.
print(not True)
print(not False)
# not
print('NOT AND')
print('True and True =>', not (True and True)) # False
print('True and False =>', not (True and False)) # True
print('False and True =>', not (False and True)) # True
print('False and False =>', not (False and False)) # True
stock = input('Ingrese el numero de stock =>')
stock = int(stock)
print(not (stock >= 100 and stock <= 1000))
Gracias bro!
**Especiales
**
Existen otros operadores especiales que veremos y utilizaremos comúnmente en bucles o para comprobar si una variable es exactamente igual a otra o no, o por ejemplo para saber si un elemento se encuentra dentro de otros, etc..
Gracias
el termino correcto es x is not y , en la imagen que has compartido dice not is
Algoritmo típico. Me ayudó a entenderlo mejor. Si eres menor de 18, no puedes votar.
try: age =int(input('¿Edad? ')) puede_votar = not age <18print('¿Puede votar?: ', puede_votar)except:print('Escribe tu edad en número entero')
Gracias ✔🦾🥇
Buen ejemplo, gracias!!
El operador Not niega un condición y cambia su valor arrojando el booleano inverso
not True = False
not False = True
print( not True)print( not False)print('NOT AND')print('not True and True =>',not(True and True))print('not True and False =>',not(True and False))print('not False and True =>',not(False and True))print('not False and False =>',not(False and False))stock =input('Ingrese el número de stock => ')stock =int(stock)print(not(stock >=100 and stock <=1000))
Habría que ver en que momento del desarrollo de código puede ser útil utilizar la negación de operaciones lógicas.
Es medio rebuscado, pero podrias usarlo en ciclos donde el else niegues una condicion para sapsar a otra funcion.
También puede ayudar en algunos casos a escribir código más legible, cuando queramos que NO se cumpla algo.
Un aporte para la clase anterior donde se compara el rol en una empresa y se determina si es un rol requerido para poder ingresar.
role = input("Ingrese su rol en la empresa: ").capitalize()
ar_t = role == "Admin" or role == "Owner"
El operador lógico "not" (no) se utiliza para negar o invertir el valor de una condición. Su función es simple: si una condición es verdadera, "not" la convierte en falsa, y si una condición es falsa, "not" la convierte en verdadera.
Una Consulta Nicolas, tambien se puede hacer la negacion con "!" como en otros lenguajes?
Sí, nos lo enseñó con los comparadores.
Pregunta, por qué no me toma el numero 1000 cuando estoy haciendo el mismo ejercicio que en el video y me sale error de sintaxis
Si pudieras mandar tu código y el error que te sale Uu.
¿Por qué haces otro stock para el int?, tu puedes poner ese int ahí junto al input. Ejemplo: a = int(input(stock))
Si se puede lo estas forzando a que el valor que le estas pidiendo al usuario se cambie a valor entero, ya que cuando este entra pues es de tipo string y cuando usted le pone int antes del input estas diciendo que lo quieres si o si entero.
Me imagino que es porque este curso está en otras rutas de aprendizaje como primer curso, así que todo tiene que ser super básico
🧠Operadores lógicos:
print(not True)print(not False)
# and
print('NOT AND')print('True and True => ',not(True and True))print('True and True => ',not(True and False))print('True and True => ',not(False and True))print('True and True => ',not(False and False))stock =input('ingrese el numero de stock =>')stock =int(stock)print(not(stock >=100 and stock <=1000))
*****Logical operator:"NOT OR"*****not(True or True)=Falsenot(True or False)=Falsenot(False or True)=Falsenot(False or False)=True
Para lo que queramos profundizar en tablas de verdad aqui encontré un completo resumen, está genial.
Las tablas de verdad a veces se subestiman, pero el potencial es grande en la vida práctica.
# NOTuser =input("Usuario => ").lower()print(not(user =="hacker"or user =="malware"))
Las tablas de verdad seran toda la vida en la logica de programación.
😁