Publicado en python

Python tema 3 Operadores y operaciones básicas

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

  1. Operadores aritméticos básicos
    1. Suma (+)
    2. Resta (-)
    3. Multiplicación (*)
    4. División con float (/)
    5. División con int (//)
    6. Módulo (%)
    7. Potencia (**)
  2. Operadores de comparación
    1. Igualdad (==)
      1. Ejemplo 1
      2. Ejemplo 2
    2. Desigualdad
      1. Ejemplo 1
      2. Ejemplo 2
    3. Mayor que y Menor que
      1. Ejemplo 1
      2. Ejemplo 2
  3. Operadores relacionales
    1. (mayor que)
      1. Ejemplo
    2. (menor que)
      1. Ejemplo
    3. (mayor o igual que)
      1. Ejemplo 1
      2. Ejemplo 2
    4. (menor o igual que
      1. Ejemplo 1
      2. Ejemplo 2
  4. Operadores de identidad
    1. is
      1. Ejemplo 1 (con true)
      2. Ejemplo 2 (con false con listas {} )
      3. Ejemplo 3 (con true)
      4. Ejemplo 4 (con true con tuplas () )
      5. Ejemplo 5 (con false (str))
    2. is not
      1. Ejemplo 1 (con listas {} con true y false
      2. Ejemplo 2 (con «str» false)
      3. Ejemplo 3 (con «str» true)
      4. Ejemplo 4 (con «str» false)
      5. Ejemplo 5 (con true con listas [] )
  5. Conversión de tipo de dato
    1. Convertir str
      1. str en int
        1. Ejemplo 1
      2. str en bool
        1. Ejemplo 1
        2. Ejemplo 2
        3. Ejemplo 3
      3. str en float
        1. Ejemplo 1 con errores
        2. Ejemplo 2 con float
        3. Ejemplo 3 de float
        4. Ejemplo 4 str a float
    2. Convertir int
      1. int en bool
        1. Primer paso
        2. Segundo paso
      2. int en float
        1. Primer paso
        2. Segundo paso
      3. int en str
        1. Ejemplo 1
        2. Ejemplo 2
    3. Convertir float
      1. float en int
        1. Ejemplo
      2. float en str
        1. Ejemplo
      3. float en bool
    4. Convertir bool
      1. bool en str
        1. Ejemplo 1
        2. Ejemplo 2
        3. Ejemplo 3
      2. bool en int
        1. Ejemplo
      3. bool en float
        1. Ejemplo 1
  6. Concatenar (unir)
    1. Información
    2. Ejemplo de str
      1. información
      2. Ejemplo 1
      3. Ejemplo 2
      4. Ejemplo 3
    3. str + int
      1. Ejemplo 1 str + int
      2. Ejemplo 1 igual pero con f-string
    4. str + float
      1. Ejemplo 1 str + float
      2. Ejemplo 2 str + float con f-string
    5. str + bool
      1. Ejemplo
    6. Ejemplo de int
      1. int + int
        1. Ejemplo 1 int + int
        2. Ejemplo 2 int + int con f-string
        3. Ejemplo 3 int + int con f-string abreviado
      2. int + str
        1. Ejemplo
      3. int + float
        1. Ejemplo
      4. int + bool
        1. Ejemplo
    7. Ejemplo de float
      1. float + float
        1. Ejemplo
      2. float + str
        1. Ejemplo
      3. float + bool
        1. Ejemplo
      4. float + int
        1. Ejemplo
    8. Ejemplo de bool
      1. bool + bool
        1. Ejemplo
      2. bool + int
        1. Ejemplo
      3. bool + float
        1. Ejemplo
      4. bool + str
        1. Ejemplo
  7. Operadores de membresía
    1. in Explicación
      1. Ejemplo 1
      2. Ejemplo 2
    1. not in Explicación
      1. Ejemplo 1
  8. Operadores lógicos
    1. and Explicación
      1. Tabla de verdad
      2. Ejemplo 1 de true y false
    2. or Explicación
      1. Ejemplo
    3. not Explicación
      1. Ejemplo 1
      2. and y or mezclados
        1. Ejemplo 1
        2. Ejemplo 1 (de otra forma)
  9. Operadores bit a bit (puertas lógicas)
    1. & (bit and) Explicación
      1. tabla de verdad
      2. Ejemplo 1 de & (bit and)
      3. Ejemplo 2 de & (bit and)
      4. Ejemplo 3 de & (bit and)
      5. curiosidad
    2. or (|) Explicación
      1. tabla de verdad
      2. Ejemplo 1
    3. ^ (xor) Explicación
      1. Tabla de la verdad
      2. Ejemplo 1
    4. ~ (not) Explicación
      1. Ejemplo 1
    5. Desplazamiento a nivel de bits (izquierda y derecha)
  10. Procedencia de operadores (De mayor a menor rango)
  11. Orden de evaluación

Índice

Operadores aritméticos básicos

suma/resta/multiplicación/división/módulo/potencia

Índice

Suma = +

Índice

Resta = –

Índice

Multiplicación = *

Índice

División con float = /

Índice

División con int = // con número entero

Índice

Módulo = %

Índice

Potencia = **

Índice

Operaciones de comparación

Índice

Igualdad (==): Comprueba si dos valores son iguales

Índice

Ejemplo 1 = ejemplo de True

Índice

Ejemplo 2 = ejemplo de False

Índice

Desigualdad (!=) = comprueba si dos valores son diferentes

Índice

Ejemplo 1 con true

Índice

Ejemplo 2 con false

Índice

Mayor que (>), Menor que (<): Comprueban si un valor es mayor o menor que el otro

Índice

Ejemplo 1 con resultado true

Índice

Ejemplo 2

Índice

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«)

Índice

> (mayor que) = devuelve verdadero (true) si el operador de la izquierda es mayor que el operador de la derecha

Índice

Ejemplo

(El número 14 es mayor que el número 4)

Índice

< (menor que) = devuelve verdadero (true) si el operando de la derecha es mayor que el operador de la izquierda

Índice

Ejemplo

Índice

>= (mayor o igual que) = devuelve verdadero (true) si el operando de la izquierda es mayor o igual que el operando de la derecha

Índice

Ejemplo 1 de true

Índice

Ejemplo 2 de false

Índice

<= (menor o igual que) Devuelve verdadero (True) si el operando de la derecha es mayor o igual que el operando de la izquierda

Índice

Ejemplo 1 de True (verdadero)

Índice

Ejemplo 2 de false (falso)

Índice

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

Índice

is = Devuelve True si hacen referencia a «el mismo objeto«

Índice

Ejemplo 1 (con true)

En este ejemplo hay que comparar el mismo objeto, es decir, «a = 5» es el mismo objeto que «b = 5«

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

Índice

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)

En tal caso si alguien tiene dudas, hay que fijarse en la id de los objetos para saber lo del mismo objeto

Índice

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

Índice

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

Índice

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

Índice

is not = Devuelve False si no hacen referencia a «el mismo objeto»

Índice

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«

Índice

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)

Índice

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«

Índice

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«

Índice

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

Índice

Conversión de tipo de dato

(Son clases que en este caso se usan como funciones para convertir el tipo de dato)

Índice

Convertir str

En este apartado vamos a convertir el «str» (cadena de caracteres) a otros tipos de datos

Índice

str en int

(Se trata de un número dentro de una cadena de caracteres, (si tiene letras da error))

Índice

Ejemplo 1

(Aquí estamos creando el str)

(Primero se pone el str)

(Estamos convirtiendo el «str» en un «int» con la clase «int» (la que está en rojo)

Índice

str en bool

Índice

Ejemplo 1

(En este caso estamos creando una variable que se llama «30»)

(Continuación: en este caso estamos convirtiendo el «str» a «bool» , nos da False porque no hemos puesto nada en las comillas)

Índice

Ejemplo 2 con verdadero (True)

Índice

Ejemplo 3

Índice

str en float

Índice

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)

Índice

Ejemplo 2 con float

(Con 1 variable)

(Primero se crea el str)

(Segundo se crea el float para que se convierta el str en el float)

Índice

Ejemplo 3 de float

(Primero estamos creando el str)

(En la variable_2 le estamos diciendo que cambie la variable_1 a float)

Índice

Ejemplo 4

Índice

Convertir int

En este apartado vamos a convertir el «int» (número entero) a otros tipos de datos

Índice

int en bool

Índice

Primer paso: primero creamos el int

Índice

Segundo paso: se convierte el int en bool

Índice

int en float

Índice

Primer paso

(Primero creamos un int)

Índice

Segundo paso

(Ahora hay que convertir el int en float y para ello hay que elegir la función «float«

Índice

int en str

Índice

Ejemplo 1

Primero creamos el int

Índice

Ejemplo 2

Índice

convertir float

En este apartado vamos a convertir el «float» (número flotante, ejemplo: 3.14) a otros tipos de datos

Índice

float en int

Índice

Ejemplo

Hemos convertido el float en un int

Índice

float en str

Índice

Ejemplo

Hemos creado un float

Índice

float en bool

En el primero hemos creado un float y abajo lo hemos convertido en un bool

Índice

convertir bool

En este apartado vamos a convertir el «bool» (verdadero o falso) a otros tipos de datos

Índice

bool en str

Índice

Ejemplo 1

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»

Índice

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«

Índice

Ejemplo 3

Índice

bool en int

Índice

Ejemplo

Índice

bool en float

Índice

Ejemplo 1

Índice

Concatenar (unir)

Índice

(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»)

Índice

Ejemplo de Str

Índice

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

Índice

Ejemplo 1

Índice

Ejemplo 2

Para dejar espacios simplemente hay que poner » « y tantos espacios como necesitemos

Índice

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

Índice

str + int

Índice

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

Índice

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

Índice

str + float

Índice

Ejemplo 1 de str + float

Índice

Ejemplo 2 de str + float con f-string

Índice

str + bool

Índice

Ejemplo

Índice

Ejemplo de int

Índice

int + int

Índice

Ejemplo 1 de int + int

Índice

Ejemplo 2 de int + int con f-string

Índice

Ejemplo 3 int + int con f-string abreviando

Índice

int + str

Índice

Ejemplo

Índice

int + float

Índice

Ejemplo

Índice

int + bool

Índice

Ejemplo

Índice

Ejemplo de float

Índice

float + float

Índice

Ejemplo

Índice

float + str

Índice

Ejemplo

Índice

float + bool

Índice

Ejemplo

Índice

float + int

Índice

Ejemplo

Índice

Ejemplo de bool

Índice

bool + bool

Índice

Ejemplo

Índice

bool + int

Índice

Ejemplo

Índice

bool + float

Índice

Ejemplo

Índice

bool + str

Índice

Ejemplo

Índice

Operadores de membresía

Índice

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

Índice

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»

Índice

Ejemplo 2:

Índice

El «not in« hace lo contrario, es decir, si no está en la secuencia te devuelve «True»

Índice

Ejemplo

Índice

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:

Índice

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

Índice

Tabla de la verdad

Tienen que dar los 2 correctos

Índice

Ejemplo 1 de true y false

Índice

OR = Devuelve true si al menos un elemento es true

Explicación true, true, true y false

Índice

Ejemplo

Índice

NOT = Devuelve el contrario , si pongo true , lo pasa a false y si pongo false lo pasa a true

Explicación

Índice

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

Índice

AND y OR: mezclados

Índice

Ejemplo 1

Índice

Ejemplo 1 visto de otra forma

Índice

Operadores bit a bit (puertas lógicas)

Índice

& (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

Índice

Tabla de verdad del & (bit and) (esto es para saber el resultado al multiplicar los binarios)

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

Índice

Ejemplo 1 de & (bit and)

Índice

Ejemplo 2 de & (bit and)

Índice

Ejemplo 3 de & (bit and)

Índice

Curiosidad, esto es para saber cual es el decimal de un código binario

Índice

OR ( | )

(Si alguno de los bits es 1 entonces da 1 como resultado)

Índice

Tabla de verdad

Índice

Ejemplo 1

Índice

^ xor

El ^ (xor) , sirve para comparar si son diferentes los valores (true o false)

si son iguales da 0 y si son diferentes 1

Índice

Tabla de la verdad del & (xor)

Índice

Ejemplo 1

Índice

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

Índice

Ejemplo 1

Índice

Desplazamiento a nivel de bits

<< (izquierda >>(derecha) (desplazamiento a nivel de bits

Índice

Procedencia de operadores

Índice

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

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










16 comentarios sobre “Python tema 3 Operadores y operaciones básicas

          1. 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 gusta

          2. 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 gusta

          3. 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 gusta

          4. 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 gusta

          5. 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 gusta

          6. 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()

            Le gusta a 1 persona

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.