Bienvenidos/as al tema 3 de Python, antes de seguir hay que decir que soy autodidacta y voy a prendiendo por mi cuenta, si alguien tiene dudas de lo que vaya poniendo con mucho gusto les ayudaré en los comentarios y si cometo errores se agradece que también se diga, dicho esto, empecemos
- Operadores aritméticos básicos
- Operadores de comparación
- Operadores relacionales
- Operadores de identidad
- Conversión de tipo de dato
- Concatenar (unir)
- Operadores de membresía
- Operadores lógicos
- Operadores bit a bit (puertas lógicas)
- Procedencia de operadores (De mayor a menor rango)
- Orden de evaluación
Operadores aritméticos básicos
suma/resta/multiplicación/división/módulo/potencia
Suma = +
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_1-1.png?w=365)
Resta = –
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_2-1.png?w=402)
Multiplicación = *
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_3-1.png?w=578)
División con float = /
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_4.png?w=482)
División con int = // con número entero
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_5.png?w=478)
Módulo = %
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_6.png?w=457)
Potencia = **
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_7.png?w=487)
Operaciones de comparación
Igualdad (==): Comprueba si dos valores son iguales
Ejemplo 1 = ejemplo de True
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_10.png?w=497)
Ejemplo 2 = ejemplo de False
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_11.png?w=496)
Desigualdad (!=) = comprueba si dos valores son diferentes
Ejemplo 1 con true
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_12.png?w=531)
Ejemplo 2 con false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_13.png?w=526)
Mayor que (>), Menor que (<): Comprueban si un valor es mayor o menor que el otro
Ejemplo 1 con resultado true
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_14.png?w=606)
Ejemplo 2
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_15.png?w=596)
Operadores Relacionales
Los operadores relacionales se utilizan para comparar y consultar la relación entre ellos. devuelve un valor lógico (bool = verdadero o falso) según la condición
(Los operadores relacionales se utilizan para comparar dos valores entre si)
(operador = es el símbolo a la hora de hacer el calculo, es decir si estamos sumando 2 +3 se pone el «+«)
(operando = son los valores con los que operas, es decir, si estamos sumando 2 + 3 serían «2» y «3«)
> (mayor que) = devuelve verdadero (true) si el operador de la izquierda es mayor que el operador de la derecha
Ejemplo
(El número 14 es mayor que el número 4)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_27-1.png?w=401)
< (menor que) = devuelve verdadero (true) si el operando de la derecha es mayor que el operador de la izquierda
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_28-1.png?w=467)
>= (mayor o igual que) = devuelve verdadero (true) si el operando de la izquierda es mayor o igual que el operando de la derecha
Ejemplo 1 de true
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_29-1.png?w=495)
Ejemplo 2 de false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_30-1.png?w=500)
<= (menor o igual que) Devuelve verdadero (True) si el operando de la derecha es mayor o igual que el operando de la izquierda
Ejemplo 1 de True (verdadero)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_31-1.png?w=494)
Ejemplo 2 de false (falso)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_32-1.png?w=488)
OPERADORES DE IDENTIDAD
El «is» y el «is not» se utilizan para comparar identidad de objetos, es decir, para verificar si dos variables se refieren al mismo objeto en memoria. Esto es diferente de «==» y «!=» que se utilizan para comparar el contenido de los objetos
(Si a alguien le da otro valor es porque depende del entorno de desarrollo para las tuplas)
(Python está reutilizando el mismo objeto en la memoria para ambas tuplas, en lugar de crear dos objetos separados, entonces puede que alguien que lo pruebe le de otro valor para las tuplas)
Antes de seguir hay que decir que en las «tuplas ( )» al ser inmutables, si son idénticas y es probable que de «True» ya que se refieren al mismo objeto en la memoria
( Si tienes datos inmutables, como números, cadenas de texto o tuplas (por ejemplo «3 is 4», «(1, 2, 3) is (1, 2, 3)», etc), entonces si el valor de la izquierda es igual al de la derecha y te dará true)
En cambio en las «listas [ ]» son mutables con los mismos elementos y python no garantiza la misma ubicación de memoria ya que cada lista puede cambiar con el paso del tiempo, por eso suele dar False
is = Devuelve True si hacen referencia a «el mismo objeto«
Ejemplo 1 (con true)
En este ejemplo hay que comparar el mismo objeto, es decir, «a = 5» es el mismo objeto que «b = 5«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_65.png?w=326)
Se puede comprobar en esta parte de abajo (al poner «id (a)«) que nos pone «True» y abajo pone que está el mismo número, eso quiere decir que tiene el mismo objeto al tener dicha id igual
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_66.png?w=180)
Ejemplo 2 con false con listas [ ]
Para este ejemplo da False, ¿porque? imaginemos que «x» es una casa e «y» es otra casa, entonces digamos que las 2 casas no tienen el mismo objeto porque cada casa es diferente, por eso da False (se está destinando la información nueva de manera individual)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_67.png?w=385)
En tal caso si alguien tiene dudas, hay que fijarse en la id de los objetos para saber lo del mismo objeto
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_68.png?w=155)
Ejemplo 3 con True
Para este caso la variable «a» tiene un str «hola» y la variable «b» igual, para este caso tienen el mismo objeto en la memoria, por eso da True
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_69.png?w=264)
Ejemplo 4 True con tuplas ()
Para este ejemplo, en las tuplas al ser inmutables, si da «True» porque son idénticos, es decir, python está reutilizando el mismo objeto en ambas tuplas
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_70.png?w=375)
Ejemplo 5 con false (str)
En este ejemplo en los 2 es un «str» (cadena de caracteres) pero no están en el mismo objeto en la memoria, por lo tanto es False
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_71.png?w=347)
is not = Devuelve False si no hacen referencia a «el mismo objeto»
Ejemplo 1 con listas [ ] con True y False
En este ejercicio (print1) como las listas son mutables da en el primer print False, digamos que hay 2 casas, cada casa tiene lo mismo que la anterior, en este caso la «casa1» tiene diferente mismo objeto en la memoria que la «casa2» pero como estamos poniendo el «is not» se pone el contrario , es decir, con «is «sería «False», entonces ahora se pone «True«
(print2) En esta parte estamos diciendo que la «casa1» y que la «casa3» estén en la misma casa, por eso están compartiendo el mismo objeto en la memoria, si fuera solo «is» sería true, pero como es «is not» se pone «False«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_72-1.png?w=432)
Ejemplo 2 con «str» false
Para este ejemplo en la «cadena1» estamos poniendo el «str» y en la «cadena2« estamos poniendo el mismo «str» con espacios, lo que significa que si fuera un «is» sería True (por que están en el mismo objeto en la memoria), pero como le estamos poniendo el «is not» sería el contrario, entonces es «False» (al poner el contrario se cambia de True a False)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_73.png?w=411)
Ejemplo 3 con «str» True
En este ejemplo el «str1» pone hola y en el «str2» pone adiós, no están en el mismo objeto en la memoria, por lo tanto si fuera un «is» sería «false» pero como se le cambia , por eso se le pone «True«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_74.png?w=330)
Ejemplo 4 con str false
En este ejemplo en la variable1 tiene puesto un «str» y en la variable20 hemos puesto que sea igual a la variable 1, entonces tienen el mismo objeto en la memoria, pero como le estamos poniendo «is not» entonces se pone el contrario , es decir, «False«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_75.png?w=464)
Ejemplo 5 con True con listas [ ]
Primer paso: primero hay que resolver el «x is not y«, entonces sería «False«
(Si fuera «is» sería «True)
Segundo paso: hay que resolver el «x is z«, entonces sería True
(Si fuera «is» sería true)
Tercer paso: hay que poner el «and», es decir, sería «False and True«
Al resolver un «and» uno de los 2 tiene que dar «true», en este caso, uno de los 2 da verdadero y por eso da True al final
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_76.png?w=495)
Conversión de tipo de dato
(Son clases que en este caso se usan como funciones para convertir el tipo de dato)
Convertir str
En este apartado vamos a convertir el «str» (cadena de caracteres) a otros tipos de datos
str en int
(Se trata de un número dentro de una cadena de caracteres, (si tiene letras da error))
Ejemplo 1
(Aquí estamos creando el str)
(Primero se pone el str)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_33-2.png?w=468)
(Estamos convirtiendo el «str» en un «int» con la clase «int» (la que está en rojo)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_34-1.png?w=468)
str en bool
Ejemplo 1
(En este caso estamos creando una variable que se llama «30»)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_36-1.png?w=394)
(Continuación: en este caso estamos convirtiendo el «str» a «bool» , nos da False porque no hemos puesto nada en las comillas)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_37-1.png?w=587)
Ejemplo 2 con verdadero (True)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_39-1.png?w=518)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_40-2.png?w=467)
Ejemplo 3
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_62.png?w=437)
str en float
Ejemplo 1 con errores
(la secuencia de caracteres no está permitida)
(En este caso, si añadimos un texto da error, pero si ponemos un numero en str si lo puede convertir en true o false)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_41-1.png?w=443)
Ejemplo 2 con float
(Con 1 variable)
(Primero se crea el str)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_42-1.png?w=372)
(Segundo se crea el float para que se convierta el str en el float)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_43.png?w=388)
Ejemplo 3 de float
(Primero estamos creando el str)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_45-1.png?w=621)
(En la variable_2 le estamos diciendo que cambie la variable_1 a float)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_46-1.png?w=653)
Ejemplo 4
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_61.png?w=468)
Convertir int
En este apartado vamos a convertir el «int» (número entero) a otros tipos de datos
int en bool
Primer paso: primero creamos el int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_44-1.png?w=348)
Segundo paso: se convierte el int en bool
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_47-1.png?w=467)
int en float
Primer paso
(Primero creamos un int)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_48-1.png?w=398)
Segundo paso
(Ahora hay que convertir el int en float y para ello hay que elegir la función «float«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_49-1.png?w=550)
int en str
Ejemplo 1
Primero creamos el int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_50-1.png?w=378)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_51-1.png?w=438)
Ejemplo 2
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_35-1.png?w=929)
convertir float
En este apartado vamos a convertir el «float» (número flotante, ejemplo: 3.14) a otros tipos de datos
float en int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_52.png?w=391)
Hemos convertido el float en un int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_53.png?w=477)
float en str
Ejemplo
Hemos creado un float
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_55-1.png?w=426)
float en bool
En el primero hemos creado un float y abajo lo hemos convertido en un bool
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_56-1.png?w=384)
convertir bool
En este apartado vamos a convertir el «bool» (verdadero o falso) a otros tipos de datos
bool en str
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_57.png?w=521)
Primero hemos creado una variable que se llama»booleano» y tiene el valor «True», después hemos creado otra variable que se llama «cadena», lo hemos convertido en un «int» y después ese «int» lo hemos convertido en un «str»
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_58.png?w=313)
Ejemplo 2
Hemos creado una variable booleano que se llama «true»
Después en la variable «cadena» hemos convertido «booleano» en un «int» y después en un «str» (ahora booleano es un str)
En la variable «tipo» hemos puesto «type» lo hemos puesto para ver que tipo es el «bool» y nos dirá que es «1», es decir, true
En «print» hemos puesto:
cadena = es para saber si es verdad o mentira , es decir, true «1» o false «0»
tipo = esto es para saber que tipo es, es decir, es de tipo «str«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_59.png?w=305)
Ejemplo 3
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_60.png?w=421)
bool en int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_63.png?w=498)
bool en float
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_64.png?w=548)
Concatenar (unir)
(Añadir sumas usando operadores)
(Al concatenar los valores diferentes deben convertirse al mismo tipo con el signo «+«)
(Al sumar 2 tipos de datos da como resultado un «str»)
Ejemplo de Str
Información
(Para concatenar con «str» hay que convertir los tipos en str)
Ejemplo:
str + str =solución str
str + bool = solución str
str + float = solución str
str + int = solución str
En este ejemplo he unido palabra_1 con palabra_2 para que salga todo junto
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_21-1.png?w=553)
Ejemplo 2
Para dejar espacios simplemente hay que poner » « y tantos espacios como necesitemos
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_22-1.png?w=600)
Ejemplo 3
Al sumar 2 «str» se puede sumar con f-strings, para ello hay que crear 2 variables con 2 «str» después ponemos print, la «f»de f-string y ponemos lo que necesitemos, en este caso he sumado 2 str, donde están las llaves {lenguaje} y {escuela}, así se suman con f-string
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_77.png?w=651)
str + int
Ejemplo 1 de str + int
En este ejemplo he convertido un «str» + un «int», he creado 2 variables, una con un str (str1) y otra con un int (numero), después he puesto en la solución que ambas variables se sumen y que a la variable que tiene el «int» lo convierta en str
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_78.png?w=551)
Ejemplo 1 igual pero con «f-string«
El «f-string» es «Formateo literal de cadenas» (también llamados f-strings para abreviar)
He creado 2 variables (str3 y float1), en la segunda variable, la he convertido en un str, es decir, he cambiado el bool en str
Después he puesto el print para que salga en pantalla y he añadido el f-string para simplificarlo, es decir, en el principio he puesto un str con las variables para que salgan en pantalla y en las últimas variables juntas con las llaves las he jugando para que se vea mejor el resultado
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_80.png?w=881)
str + float
Ejemplo 1 de str + float
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_81-1.png?w=492)
Ejemplo 2 de str + float con f-string
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_117.png?w=741)
str + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_82.png?w=473)
Ejemplo de int
int + int
Ejemplo 1 de int + int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_83.png?w=521)
Ejemplo 2 de int + int con f-string
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_84.png?w=606)
Ejemplo 3 int + int con f-string abreviando
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_85.png?w=609)
int + str
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_86.png?w=734)
int + float
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_87.png?w=498)
int + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_88.png?w=679)
Ejemplo de float
float + float
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_91.png?w=643)
float + str
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_92.png?w=635)
float + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_93.png?w=630)
float + int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_94.png?w=635)
Ejemplo de bool
bool + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_89.png?w=624)
bool + int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_95.png?w=629)
bool + float
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_96.png?w=631)
bool + str
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_90.png?w=642)
Operadores de membresía
En el operador de membresía existen 2 operadores, el «in» y el «not in«
El «in» da true si el elemento esta contenido, es decir, comprueba si un valor está o no dentro de una secuencia, como una tupla o una lista, etc.
El not in da false si el elemento no está contenido
Ejemplo 1:
En este ejemplo, en «Ejemplo 1» se pone una variable, a continuación con el print le estamos preguntando si el número 44 está en la variable «números», entonces nos dará un «True«
Para el «ejemplo 2» en la variable «letras» hay unas cadenas (str) en dichas cadenas hay unas palabras, digamos que esas palabras son las que el «in» tiene que buscar ahora, con el print le estamos preguntando que si el «str» «c» está en la variable «letras» y como se puede comprobar en la imagen no está, entonces da «false»
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_97-1.png?w=606)
Ejemplo 2:
El «not in« hace lo contrario, es decir, si no está en la secuencia te devuelve «True»
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_98-1.png?w=503)
Operadores Lógicos:
Estos operadores realizan operaciones lógicas entre expresiones booleanas.
AND, OR, NOT: Operadores lógicos para combinar o negar expresiones booleanas.
(TRUE O FALSE)
Resumen rápido:
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_23.png?w=746)
And = Devuelve true si ambos elementos son true (verdaderos)
Se refiere al «and» cuando se habla de puerta lógica (Operadores bit a bit «y» entre dos valores), comparación (para la operación bit a bit «Y» y bool (aunque bool no es tan efectiva) o evaluación de condiciones
Tabla de la verdad
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_16.png?w=793)
Tienen que dar los 2 correctos
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_17.png?w=796)
Ejemplo 1 de true y false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_111.png?w=449)
OR = Devuelve true si al menos un elemento es true
Explicación true, true, true y false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_18.png?w=737)
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_112.png?w=438)
NOT = Devuelve el contrario , si pongo true , lo pasa a false y si pongo false lo pasa a true
Explicación
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_19.png?w=772)
ejemplo 1
En este ejemplo el primer «not» sería verdadero, entonces el siguiente es falso, es decir:
not = falso
not = verdadero
not = falso
not = verdadero
not = falso
por eso da falso, porque el último «not» da falso
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_20.png?w=770)
AND y OR: mezclados
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_24.png?w=946)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_25.png?w=943)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_26.png?w=947)
Ejemplo 1 visto de otra forma
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_38-3.png?w=595)
Operadores bit a bit (puertas lógicas)
& (bit and)
El «y» y «&» son dos nombres para el mismo signo lógico
Se habla del & (bit and) cuando se habla de operaciones a nivel de bits o de manipulación de datos binarios
El operador & (dicho de manera fácil), permite combinar ambas cajas en una caja
Ejemplo simple:
Caja 1 = tiene bloques verdes, azules y rojos
Caja 2 = tiene bloques rojos, verdes y amarillos
Cómo los bloques rojos y verdes están en ambas cajas, entonces los ponemos en la caja 3 y los que no están repetidos en ambas cajas también los ponemos
caja 3 = bloques rojos, verdes, azules amarillos
Tabla de verdad del & (bit and) (esto es para saber el resultado al multiplicar los binarios)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_102.png?w=362)
En resumen, el operador «&» te permite:
- Combinar dos valores enteros (como si fueran dos cajas de galletas).
- Comparar cada bit (como si compararas los dibujos de las caras A de las galletas).
- Si los bits son iguales, se coloca un 1 en el bit correspondiente de la nueva caja.
- Si los bits son diferentes, se coloca un 0 en el bit correspondiente de la nueva
Ejemplo 1 de & (bit and)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_100.png?w=474)
Ejemplo 2 de & (bit and)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_101.png?w=438)
Ejemplo 3 de & (bit and)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_107.png?w=687)
Curiosidad, esto es para saber cual es el decimal de un código binario
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_108.png?w=558)
OR ( | )
(Si alguno de los bits es 1 entonces da 1 como resultado)
Tabla de verdad
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_103.png?w=360)
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_105.png?w=648)
^ xor
El ^ (xor) , sirve para comparar si son diferentes los valores (true o false)
si son iguales da 0 y si son diferentes 1
Tabla de la verdad del & (xor)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_109.png?w=363)
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_106.png?w=672)
not ~
El not sirve para cambiar un valor bool, es decir:
Si el resultado da true lo convierte a False
Si el resultado da False lo convierte en True
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_113.png?w=437)
Desplazamiento a nivel de bits
<< (izquierda >>(derecha) (desplazamiento a nivel de bits
Procedencia de operadores
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_114.png?w=732)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_115.png?w=732)
Orden de evaluación
Las expresiones se evalúan de izquierda a derecha
Los paréntesis se utilizan para forzar un orden de evaluación específico
Los operadores tienen una procedencia que define su orden de evaluación
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_116.png?w=464)
Muchas gracias por entrar, si tienes dudas, no dudes en preguntar en los comentarios de lo que voy poniendo en la programación de python y también suelo estar en twitch con el nombre «chebg«, si tienes dudas también te puedo ayudar en twitch
Si te ha ayudado compártelo y coméntalo
hola buenas, encuentro bueno, quizás mucha información pero me gusta, espero te llegue este comentario:)
Me gustaMe gusta
Gracias por el comentario, espero que siga entrando en el futuro en el blog, cualquier duda pregunte y se le atenderá lo mejor posible.
Me gustaMe gusta
Tengo una duda, veo que en un código que copie y me da error, por más igual que parezca, no habrá un error?
Me gustaMe gusta
Cuénteme el fallo y lo miro, intente ser lo más preciso/a posible a la hora de explicar el fallo, gracias
Me gustaMe gusta
El ejemplo 4 de operadores, lo pongo tal cual lo pusiste tú, y nada, voy empezando y me estreso un poco a veces, jaja.
Me gustaMe gusta
Debería siempre dar True, pero cuando no, es por la memoria, pero no siempre pasa eso, en su caso es por memoria pero en general eso da true
Me gustaMe gusta
Entiendo, tu eres senior? Por que hay algunas dudas que tengo, que son básicas, pero me cuestan, soy un principiante la verdad…
Me gustaMe gusta
Yo soy «junior» (estoy aprendiendo en plan autodidacta) pero si tiene alguna duda de algún código facilito le puedo ayudar en lo que sepa
Me gustaMe gusta
Entiendo, y como te mando mis dudas? Aquí no me deja imágenes…
Me gustaMe gusta
Usted me puede mandar un texto con el código , así lo puedo ver y ayudarle
Me gustaMe gusta
total
= precio *
cantidad
print(f»Resumen del pedido:«) print(f»fcantidad)x (producto) – $(to
# Procesar el pago print(f»El total a pagar es de $ftota. metodo_pago = input(«;Cómo desea paga
if metodo_pago = «efectivo» print(«Ingrese el efectivo.») elif metodo_pago == «tarjeta» print(«Ingrese la tarjeta.») else:
print(«Método de pago no válido.») exit()
Me gustaMe gusta
Este es el que me importa realmente, si me ayudaras, serias genial ….
botellero = [] # s
agregar_botella = lambda nombre, tipo, cantidad: (
botellero.append({«nombre»: nombre, «tipo»: tipo, «cantidad»: cantidad}),
print(f»Botella {nombre} agregada correctamente.»)
)
eliminar_botella = lambda nombre: (
botella_encontrada = False,
for i, botella in enumerate(botellero):
if botella[«nombre»] == nombre:
del botellero[i]
botella_encontrada = True
print(f»Botella {nombre} eliminada correctamente.»)
break,
botella_encontrada or print(f»Botella {nombre} no encontrada.»)
)
Función para consultar el contenido del botellero
consultar_botellero = lambda: (
print(«Contenido del botellero:«) if botellero else print(«El botellero está vacío.»),
for botella in botellero:
print(f»- {botella[‘nombre’]}: {botella[‘tipo’]} ({botella[‘cantidad’]})»)
)
agregar_botella(«Corona», «cerveza», 6) #
agregar_botella(«Vino tinto», «vino», 1)
agregar_botella(«Agua mineral», «agua», 2)
eliminar_botella(«Corona»)
eliminar_botella(«Vino Tinto»)
eliminar_botella(«Agua mineral»)
consultar_botellero()
Me gustaMe gusta
Vale, le estoy mirando este código, ya que usted me ha dicho que le vendría genial, cuando lo tenga lo pondré aquí, gracias
Me gustaMe gusta
Ya tengo el código (me ayudaron), espero que le ayude
botellero = []
Aquí defino la función lambda para agregar una botella al botellero.
Utilizo botellero.append para agregar un diccionario con los detalles de la botella.
Después, imprimo un mensaje confirmando la adición de la botella.
agregar_botella = lambda nombre, tipo, cantidad: (
botellero.append({«nombre»: nombre, «tipo»: tipo, «cantidad»: cantidad}),
print(f»Botella {nombre} agregada correctamente.»)
)
Aquí defino la función lambda para eliminar una botella del botellero.
Uso una estructura algo compleja para iterar sobre el botellero y encontrar la botella a eliminar.
Si encuentro la botella, la elimino y confirmo la eliminación con un mensaje.
Si no la encuentro, imprimo un mensaje diciendo que no se encontró la botella.
eliminar_botella = lambda nombre: (
(lambda: (
lambda botella_encontrada=False: (
[
(
botellero.pop(i), # Aquí elimino la botella encontrada usando pop.
print(f»Botella {nombre} eliminada correctamente.»),
True # Indico que la botella ha sido encontrada y eliminada.
)
for i, botella in enumerate(botellero) # Itero sobre el botellero para encontrar la botella por nombre.
if botella[«nombre»] == nombre
] or [print(f»Botella {nombre} no encontrada.»)] # Si no encuentro la botella, imprimo un mensaje de no encontrada.
)[1] # Accedo al valor de botella_encontrada en la tupla.
))()
)
Aquí defino la función lambda para consultar el contenido del botellero.
Primero, imprimo un mensaje de «Contenido del botellero» si hay botellas, o «El botellero está vacío» si no hay.
Luego, uso una lista de comprensión para imprimir los detalles de cada botella en el botellero.
consultar_botellero = lambda: (
print(«Contenido del botellero:») if botellero else print(«El botellero está vacío.»),
[print(f»- {botella[‘nombre’]}: {botella[‘tipo’]} ({botella[‘cantidad’]})») for botella in botellero]
)
Aquí agrego algunas botellas al botellero.
agregar_botella(«Corona», «cerveza», 6)
agregar_botella(«Vino tinto», «vino», 1)
agregar_botella(«Agua mineral», «agua», 2)
Aquí elimino las botellas del botellero por nombre.
eliminar_botella(«Corona»)
eliminar_botella(«Vino tinto»)
eliminar_botella(«Agua mineral»)
Finalmente, consulto el contenido del botellero para verificar los cambios.
consultar_botellero()
Me gustaLe gusta a 1 persona
Muchísimas gracias, recomendaré a mis amigos esta página, eres un crack, espero subas más contenido de python, gracias.
Me gustaMe gusta
Muchas gracias a ti, me encanta ayudar y de nada
Me gustaMe gusta