Aclaremos, Python NO es JavaScript que va a botar True ante una comparación: 1 == “1”, bota False.
¡Te damos la bienvenida a este reto!
Empezando con Python desde 0
Día 1
Variables, funciones y sintaxis básica
Tipos de datos: Numbers, Strings y Diccionarios
Playground - Retorna el tipo
Día 2
Operadores
Playground - Calcula la propina
Día 3
Condicionales
Playground - Averigua si un año es bisiesto
Ciclos
Playground - Dibuja un triangulo usando bucles
Día 4
Listas
Encuentra a los gatitos más famosos
Diccionarios
Obtén el promedio de los estudiantes
Tuplas
Obten la información de los paquetes
Día 5
Calcula la cantidad de letras en una oración
Encuentra el mayor palíndromo
Día 6
Sets
Encuentre la intersección de conjuntos
Día 7
List comprehension
Encuentra palabras con dos vocales
Dictionary Comprehension
Calcula la longitud de las palabras
Día 8
Funciones Lambda
Filtra mensajes de un user específico
Higher order functions
Crea tu propio método map
Día 9
Manejo de Errores y excepciones
Maneja correctamente los errores
Maneja las excepciones
Día 10
Playground - Crea un task manager usando closures
Día 11
Lectura de archivos de texto y CSV
Día 12
Programación orientada a objetos
Crea un auto usando clases
Día 13
Abstracción en Python
Playground - Crea un sistema de carrito de compras
Encapsulamiento en Python
Playground - Encapsula datos de los usuarios
Día 14
Herencia en Python
Playground - Jerarquía de animales usando herencia
Día 15
Polimorfismo en Python
Playground - Implementa un sistema de pagos
Día 16
Estructuras de datos en Python
Playground - Crea tu propia lista en python
Hash tables en Python
Playground - Implementación de una HashTable para Contactos
Día 17
Maps en Python
Playground - Crea un task manager con Maps
Día 18
Singly Linked List en Python
Playground - Implementación de una singly linked list
Día 19
Stacks en Python
Playground - Implementación de un stack
Día 20
Queues en Python
Playground - Implementación de una queue
Día 21
¡Lo lograste!
Los operadores son elementos de lenguaje que nos permiten realizar cálculos y comparaciones en Python. Aquí hay una lista de los operadores más comunes:
...
Regístrate o inicia sesión para leer el resto del contenido.
Aportes 16
Preguntas 1
Aclaremos, Python NO es JavaScript que va a botar True ante una comparación: 1 == “1”, bota False.
Se deberian revisar los ejemplos:
**Revisar: **
**
print(1 == “1”) # True
print(1 is “1”) # False
**
print(1 == “1”):
El operador == compara si dos valores son iguales. En este caso, estás comparando el entero 1 con la cadena de texto “1”.
La comparación 1 == “1” devuelve False porque los tipos de datos son diferentes. Un entero y una cadena de texto no son considerados iguales.
Por lo tanto, el resultado impreso será False.
print(1 is “1”):
El operador is verifica si dos objetos son el mismo objeto en memoria. En otras palabras, comprueba si dos variables hacen referencia al mismo objeto en la memoria.
En este caso, estás comparando el entero 1 con la cadena de texto “1”.
La comparación 1 is “1” devuelve False porque son objetos diferentes en la memoria, a pesar de que su valor pueda ser el mismo.
El resultado impreso será False.
La parte del is la comprobé en python, y creo que este ejemplo lo explica mejor:
x = 1
y = float(1)
print(x is y) # False
print(x == y) # True
El primero regresa False, por que a pesar de ser el mismo número, ocupa espacios distintos en la memoria.
El segundo regresa True por que solo compara los valores.
Si estoy mal agradecería que me lo dijeran, pero a lo que entendí, así funciona.
El ejemplo de operadores deberia se de la siguente forma
En la parte de los ejemplos de están bien escritos y se entienden
print(1 == "1") # False
print(1 is "1") # False
luego en el texto menciona que el primero da True cuando realmente no lo es, esto está mal explicado.
Existe un error en el ejemplo, ya que la instrucción:
print(1 == "1")
devuelve False y no True, como dice la descripción. Creo el ejemplo quiso hacer referencia a:
print(1 == 1.0)
print(1 is 1.0)
En donde, al tratarse de valores numéricos, pero uno de tipo entero y otro de tipo flotante, la primera instrucción devuelve True y la segunda False. Recomiendo revisar más minuciosamente el contenido que publican.
Hay que destacar que mientras 1 == "1"
da False
, 1 == 1.0
da True
. Con tal que represente el mismo número aunque sea flotante y no entero lo acepta como cierto. Pero usando is
sí tiene que ser exactamente del mismo tipo. 1 is 1.0
da False
.
Para entender mejor el operador de igualdad ‘==’ y ‘is’
Cuando leí este fragmento de la teoría me pareció interesante por el operador is
Entre estos existen 2 operadores de igualdad los cuales son == y is. El primero realiza una comparación de valor y el segundo, además de comparar el valor, también verifica si ambos objetos son el mismo objeto en memoria.
print(1 == "1") # True
print(1 is "1") # False
En el primer caso, 1 == “1” devuelve True ya que solo se está comparando el valor y no el tipo de dato. Sin embargo, en el segundo caso, 1 is “1” devuelve False ya que está comparando tanto el valor como el tipo de dato y, aunque ambos son iguales, uno es de tipo número y el otro de tipo string.
Sin embargo aunque el is es correcto, la afirmación del == no lo es. Fui a Replit para confirmar mi teoría y efectivamente es necesaria una corrección.
El ejemplo del operador lógico se me hace redundante, porque la variable ‘mayor_de_edad’ es la misma que la condición del if, por lo que si uno es verdadero, el otro por defecto también, ya que son lo mismo, quedando como:
if edad >= 18 and edad >= 18
Siento que pudo haber sido ejemplificado de mejor manera como los ejemplos siguientes del ‘or’ y ‘not’.
Como aportación, los operadores incremento ++
y decremento --
no existen en Python como en Javascript o C++.
Bueno se que es por el ejemplo pero para los operadores logicos basta con
if mayor_de_edad:
...
porque ya se le había asignado el edad >= 18
Supongamos que queremos escribir un programa que verifique si un número está dentro de un rango específico. Si el número está dentro del rango, muestra un mensaje de éxito, de lo contrario, muestra un mensaje de error. Utilizaremos los operadores lógicos andy >=(mayor o igual que) para lograr esto:
numero = 15
rango_inferior = 10
rango_superior = 20
if numero >= rango_inferior and numero <= rango_superior:
print("El número está dentro del rango.")
else:
print("El número está fuera del rango.")
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?