domingo, 9 de agosto de 2026

Encontrar la paridad de un n煤mero dado en Python

C贸digo del ejercicio:

def encontrarParidad(x):
    x ^= x >> 16
    x ^= x >> 8
    x ^= x >> 4
    x ^= x >> 2
    x ^= x >> 1
    return (x & 1) == 1
if __name__ == '__main__':
    x = int(input("Ingresar n煤mero: "))
    print(f'{x} en binario es {bin(x)}')
    if encontrarParidad(x):
        print('N煤mero contiene un n煤mero impar de bits.')
    else:
        print('N煤mero contiene un n煤mero par de bits.')

Definici贸n de los c贸digos del ejercicio:

def --> una funci贸n es un grupo de declaraciones relacionadas que realizan una tarea espec铆fica.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
else --> use else para especificar un bloque de c贸digo a ejecutar, si la misma condici贸n es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
return --> permite que una funci贸n devuelva un valor.
print() --> imprime un mensaje en la pantalla.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu c贸digo, todos los nombres de las variables ser谩n remplazados con sus respectivos valores.

Explicaci贸n del C贸digo:

C贸digo Python

def encontrarParidad(x):
    x ^= x >> 16
    x ^= x >> 8
    x ^= x >> 4
    x ^= x >> 2
    x ^= x >> 1
    return (x & 1) == 1

if __name__ == '__main__':
    x = int(input("Ingresar n煤mero: "))

    print(f'{x} en binario es {bin(x)}')

    if encontrarParidad(x):
        print('N煤mero contiene un n煤mero impar de bits.')
    else:
        print('N煤mero contiene un n煤mero par de bits.')

Explicaci贸n simple

def encontrarParidad(x):

Crea una funci贸n llamada encontrarParidad que recibe un n煤mero llamado x. Su objetivo es determinar si existe una cantidad par o impar de bits con valor 1.

x ^= x >> 16

Desplaza los bits 16 posiciones hacia la derecha y utiliza XOR para combinar los bits.

x ^= x >> 8

Desplaza los bits 8 posiciones hacia la derecha y vuelve a utilizar XOR.

x ^= x >> 4

Desplaza los bits 4 posiciones y combina los resultados mediante XOR.

x ^= x >> 2

Desplaza los bits 2 posiciones y realiza nuevamente una operaci贸n XOR.

x ^= x >> 1

Desplaza los bits una posici贸n. Esta operaci贸n ayuda a obtener el resultado final de la paridad.

return (x & 1) == 1

Comprueba el 煤ltimo bit del n煤mero. Si es 1, devuelve True; si es 0, devuelve False.

  • True: cantidad impar de bits 1.
  • False: cantidad par de bits 1.

if __name__ == '__main__':

Indica que el c贸digo siguiente se ejecutar谩 cuando el archivo Python se ejecute directamente.

x = int(input("Ingresar n煤mero: "))

Solicita al usuario un n煤mero y lo convierte de texto a un n煤mero entero.

print(f'{x} en binario es {bin(x)}')

Muestra el n煤mero introducido y su representaci贸n en sistema binario.

if encontrarParidad(x):

Ejecuta la funci贸n encontrarParidad() y comprueba si devuelve True.

print('N煤mero contiene un n煤mero impar de bits.')

Muestra este mensaje cuando la cantidad de bits con valor 1 es impar.

else:

Se ejecuta cuando la condici贸n anterior es falsa.

print('N煤mero contiene un n煤mero par de bits.')

Muestra este mensaje cuando la cantidad de bits con valor 1 es par.

Nota: La paridad se refiere a la cantidad de bits que tienen valor 1, no a la cantidad total de bits del n煤mero.

Crear una funci贸n para invertir un n煤mero en Python

C贸digo del ejercicio:

def invertir(num):
    inv = 0
    while num > 0:
        r = num % 10
        inv = (inv * 10) + r
        num = num // 10
    return inv
print(f'El n煤mero invertido es: {invertir(58647)}')

Definici贸n de los c贸digos del ejercicio:

def --> una funci贸n es un grupo de declaraciones relacionadas que realizan una tarea espec铆fica.
while --> el bucle while eval煤a una condici贸n y luego ejecuta un bloque de c贸digo si la condici贸n es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la divisi贸n.
// --> tambi茅n conocido como operador de divisi贸n de piso, es un operador de divisi贸n que proporciona un n煤mero entero como salida y descarta el resto.
return --> permite que una funci贸n devuelva un valor.
print() --> imprime un mensaje en la pantalla.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu c贸digo, todos los nombres de las variables ser谩n remplazados con sus respectivos valores.

Explicaci贸n del C贸digo:

El objetivo del ejercicio es crear una funci贸n que permita invertir los d铆gitos de un n煤mero.

Por ejemplo: 58647 → 74685

C贸digo Python

def invertir(num):
    inv = 0
    while num > 0:
        r = num % 10
        inv = (inv * 10) + r
        num = num // 10
    return inv

print(f'El n煤mero invertido es: {invertir(58647)}')

Explicaci贸n de cada c贸digo

def invertir(num):

Crea una funci贸n llamada invertir. El par谩metro num representa el n煤mero que queremos invertir.

inv = 0

Crea la variable inv con valor 0. En ella se ir谩 formando el n煤mero invertido.

while num > 0:

Repite las instrucciones mientras el n煤mero sea mayor que 0.

r = num % 10

Obtiene el 煤ltimo d铆gito del n煤mero. Por ejemplo, 58647 % 10 = 7.

inv = (inv * 10) + r

Agrega el d铆gito obtenido al n煤mero invertido. De esta manera se va formando: 7 → 74 → 746 → 7468 → 74685.

num = num // 10

Elimina el 煤ltimo d铆gito del n煤mero. Por ejemplo: 58647 // 10 = 5864.

return inv

Devuelve el n煤mero que se ha invertido.

print(f'El n煤mero invertido es: {invertir(58647)}')

Ejecuta la funci贸n con el n煤mero 58647 y muestra el resultado en pantalla.

Resultado

El n煤mero invertido es: 74685

Crear una funci贸n para determinar si una palabra es pal铆ndromo en Python

C贸digo del ejercicio:

s = input("Escriba una palabra: ")
def palindromo(string):
    x = ""
    for i in string:
        x = i + x
    return x
if s == palindromo(s):
    print("Es pal铆ndromo.")
else:
    print("No es pal铆ndromo.")

Definici贸n de los c贸digos del ejercicio:

input() --> permite obtener texto escrito por teclado.
def --> una funci贸n es un grupo de declaraciones relacionadas que realizan una tarea espec铆fica.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de c贸digo.
[::-1] --> invierte una lista o cadena.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
return --> permite que una funci贸n devuelva un valor.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
else --> use else para especificar un bloque de c贸digo a ejecutar, si la misma condici贸n es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.

Explicaci贸n del C贸digo:

Un pal铆ndromo es una palabra que se lee igual de izquierda a derecha y de derecha a izquierda. Algunos ejemplos son: radar, oso y reconocer.

C贸digo en Python

s = input("Escriba una palabra: ")

def palindromo(string):
    x = ""
    for i in string:
        x = i + x
    return x

if s == palindromo(s):
    print("Es pal铆ndromo.")
else:
    print("No es pal铆ndromo.")

Explicaci贸n

1. input()

Permite al usuario escribir una palabra y guarda el resultado en la variable s.

2. def palindromo(string)

Crea una funci贸n llamada palindromo que recibe una palabra.

3. x = ""

Crea una cadena vac铆a donde se construir谩 la palabra invertida.

4. for i in string

Recorre la palabra letra por letra.

5. x = i + x

Coloca cada letra delante de las anteriores para obtener la palabra al rev茅s.

6. return x

Devuelve la palabra invertida.

7. if s == palindromo(s)

Compara la palabra original con la palabra invertida. Si son iguales, la palabra es un pal铆ndromo.

8. print("Es pal铆ndromo.")

Muestra este mensaje cuando la palabra es un pal铆ndromo.

9. else

Se ejecuta cuando la condici贸n del if es falsa.

10. print("No es pal铆ndromo.")

Muestra este mensaje cuando la palabra no es un pal铆ndromo.

Resumen

El programa pide una palabra, la invierte mediante una funci贸n y compara ambas versiones. Si la palabra original es igual a la invertida, muestra que es un pal铆ndromo.

C贸digo del ejercicio: Otra forma de hacer

def palindromo():
    palabra1 = input("Escriba una palabra: ")
    palabra2 = palabra1[::-1]
    if palabra2 == palabra1:
        print("Es pal铆ndromo")
    else:
        print("No es pal铆ndromo")
palindromo()

Definici贸n de los c贸digos del ejercicio:

input() --> permite obtener texto escrito por teclado.
def --> una funci贸n es un grupo de declaraciones relacionadas que realizan una tarea espec铆fica.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de c贸digo.
[::-1] --> invierte una lista o cadena.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
return --> permite que una funci贸n devuelva un valor.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
else --> use else para especificar un bloque de c贸digo a ejecutar, si la misma condici贸n es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.

Explicaci贸n del C贸digo:

Un pal铆ndromo es una palabra que se lee igual de izquierda a derecha y de derecha a izquierda.

Algunos ejemplos son: radar, reconocer y somos.

C贸digo en Python

def palindromo():
    palabra1 = input("Escriba una palabra: ")
    palabra2 = palabra1[::-1]
    if palabra2 == palabra1:
        print("Es pal铆ndromo")
    else:
        print("No es pal铆ndromo")

palindromo()

Explicaci贸n de cada c贸digo

def palindromo():

Crea una funci贸n llamada palindromo. La funci贸n contiene las instrucciones para comprobar si una palabra es pal铆ndromo.

palabra1 = input("Escriba una palabra: ")

Solicita al usuario que escriba una palabra y guarda el resultado en la variable palabra1.

palabra2 = palabra1[::-1]

Invierte la palabra utilizando [::-1]. Esta t茅cnica permite recorrer la cadena desde el 煤ltimo car谩cter hasta el primero.

Ejemplo:
palabra1 = "radar"
palabra2 = "radar"

if palabra2 == palabra1:

Compara la palabra original con la palabra invertida. El operador == significa "es igual a".

print("Es pal铆ndromo")

Muestra el mensaje cuando la palabra original y la palabra invertida son iguales.

else:

Indica qu茅 hacer cuando la condici贸n del if no se cumple.

print("No es pal铆ndromo")

Muestra este mensaje cuando la palabra no es igual al invertirla.

palindromo()

Llama y ejecuta la funci贸n palindromo().

Ejemplo de funcionamiento

Entrada:
radar

Proceso:
radar → radar

Salida:
Es pal铆ndromo
Entrada:
casa

Proceso:
casa → asac

Salida:
No es pal铆ndromo

Crear una funci贸n para invertir una cadena en Python

C贸digo del ejercicio:

s = input("Ingresar cadena: ")
def invertir(cadena):
    x = ""
    for i in cadena:
        x = i + x
    return x
print(invertir(s))

Definici贸n de los c贸digos del ejercicio:

input() --> permite obtener texto escrito por teclado.
def --> una funci贸n es un grupo de declaraciones relacionadas que realizan una tarea espec铆fica.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de c贸digo.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
return --> permite que una funci贸n devuelva un valor.
print() --> imprime un mensaje en la pantalla.

Explicaci贸n del C贸digo:

C贸digo Python

s = input("Ingresar cadena: ") def invertir(cadena): x = "" for i in cadena: x = i + x return x print(invertir(s))

Explicaci贸n

s = input("Ingresar cadena: ")

Permite al usuario ingresar una cadena de texto y la guarda en la variable s.

def invertir(cadena):

Crea una funci贸n llamada invertir que recibe una cadena como dato.

x = ""

Crea una variable llamada x que comienza como una cadena vac铆a. En ella se construir谩 la cadena invertida.

for i in cadena:

Recorre uno por uno todos los caracteres de la cadena. La variable i representa cada car谩cter.

x = i + x

Agrega cada car谩cter al principio de la variable x. Esto hace que la cadena se vaya formando en orden inverso.

return x

Devuelve la cadena que fue invertida por la funci贸n.

print(invertir(s))

Ejecuta la funci贸n invertir utilizando la cadena guardada en s y muestra el resultado en pantalla.

Ejemplo

Si el usuario ingresa: HOLA

El programa mostrar谩: ALOH

Solicitar edad y cantidad de art铆culos comprados, mostrar en pantalla un valor de verdad (True o False) que indique si el usuario es mayor de 18 a帽os y adem谩s compr贸 m谩s de 1 art铆culo en Python

Escribir un programa que le solicite al usuario su edad y la guarde en una variable. Que luego solicite la cantidad de art铆culos comprados en una tienda y la guarde en otra variable. Finalmente, mostrar en pantalla un valor de verdad (True o False) que indique si el usuario es mayor de 18 a帽os y adem谩s compr贸 m谩s de 1 art铆culo.

C贸digo del ejercicio:

edad = int(input("Ingresar edad: "))
articulo = int(input("Ingresar cantidad de art铆culos comprados: "))
if edad > 18 and articulo > 1:
    print("True")
else:
    print("False")

Definici贸n de los c贸digos del ejercicio:

int() --> convierte el valor especificado en un n煤mero entero.
input() --> permite obtener texto escrito por teclado.
print() --> imprime un mensaje en la pantalla.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
else --> use else para especificar un bloque de c贸digo a ejecutar, si la misma condici贸n es falsa.
and --> devuelve True si ambos operandos son verdaderos.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.

Explicaci贸n del C贸digo:

C贸digo completo

edad = int(input("Ingresar edad: "))
articulo = int(input("Ingresar cantidad de art铆culos comprados: "))

if edad > 18 and articulo > 1:
    print("True")
else:
    print("False")

Explicaci贸n l铆nea por l铆nea

1. edad = int(input("Ingresar edad: "))

Solicita al usuario que ingrese su edad.

  • input() permite escribir un dato.
  • int() convierte el dato ingresado en un n煤mero entero.
  • edad guarda el valor ingresado.

2. articulo = int(input("Ingresar cantidad de art铆culos comprados: "))

Solicita al usuario la cantidad de art铆culos que compr贸.

  • input() permite ingresar el dato.
  • int() convierte el dato en un n煤mero entero.
  • articulo guarda la cantidad de art铆culos.

3. if edad > 18 and articulo > 1:

Comprueba dos condiciones al mismo tiempo:

  • edad > 18: verifica que la edad sea mayor de 18.
  • articulo > 1: verifica que haya comprado m谩s de 1 art铆culo.
  • and: significa "y", por lo que ambas condiciones deben cumplirse.

4. print("True")

Si las dos condiciones son verdaderas, muestra:

True

Esto significa que el usuario es mayor de 18 a帽os y compr贸 m谩s de 1 art铆culo.

5. else:

Se ejecuta cuando la condici贸n anterior no se cumple.

6. print("False")

Muestra:

False

Esto significa que al menos una de las dos condiciones no se cumple.

Ejemplo

Edad: 25

Art铆culos: 3

Resultado: True

Edad: 17

Art铆culos: 3

Resultado: False

Dibujar la bandera de Ucrania utilizando el m贸dulo turtle en Python

C贸digo del ejercicio:

from turtle import *
l = ('blue', 'yellow')
goto(-150, -150)
for i in range(2):
    color(l[i])
    begin_fill()
    for j in range(4):
        forward(300-100*(j%2)*(i+1))
        left(90)
    end_fill()
hideturtle()

Definici贸n de los c贸digos del ejercicio:

from --> palabra clave se usa para importar solo una secci贸n espec铆fica de un m贸dulo.
turtle --> es una biblioteca de Python que se utiliza para crear gr谩ficos, im谩genes y juegos.
import --> usa import palabra clave para hacer que el c贸digo de un m贸dulo est茅 disponible en otro.
goto() --> salta la ejecuci贸n del programa directamente a otra l铆nea de c贸digo.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de c贸digo.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de n煤meros. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un n煤mero determinado de veces.
turtle.color() --> se utiliza para cambiar el color de la tortuga. El color predeterminado es negro.
turtle.begin_fill() --> se usa para llamar justo antes de dibujar una forma para rellenar. No se necesita ning煤n argumento.
turtle.forward() --> se usa para mover la tortuga hacia adelante por el valor del argumento que toma. Da una l铆nea al moverse a otra posici贸n o direcci贸n.
turtle.left() --> se usa para cambiar la direcci贸n de la tortuga por el valor del argumento que toma. Da el movimiento de la cabeza de la tortuga en una direcci贸n.
turtle.end_fill() --> se utiliza para rellenar la forma dibujada despu茅s de la llamada begin_fill(). No se necesita ning煤n argumento.
turtle.hideturtle() --> se utiliza para hacer que la tortuga sea invisible. Es una buena idea hacer esto mientras est谩s en medio de un dibujo complicado porque esconder la tortuga acelera el dibujo de manera observable.

Explicaci贸n del C贸digo:

El siguiente programa utiliza el m贸dulo turtle de Python para dibujar la bandera de Ucrania utilizando los colores azul y amarillo.

Funci贸n de cada c贸digo

  • from turtle import * → Importa todas las funciones del m贸dulo turtle.
  • l = ('blue', 'yellow') → Guarda los colores azul y amarillo que se utilizar谩n para dibujar la bandera.
  • goto(-150, -150) → Coloca la tortuga en la posici贸n inicial (-150, -150).
  • for i in range(2): → Repite el dibujo dos veces, una para cada color.
  • color(l[i]) → Selecciona el color correspondiente.
  • begin_fill() → Comienza a rellenar la figura con el color seleccionado.
  • for j in range(4): → Repite cuatro veces las instrucciones para dibujar los lados de la figura.
  • forward(300-100*(j%2)*(i+1)) → Hace avanzar la tortuga una distancia calculada para crear el tama帽o de cada lado.
  • left(90) → Gira la tortuga 90 grados hacia la izquierda.
  • end_fill() → Finaliza el relleno de la figura.
  • hideturtle() → Oculta la tortuga cuando termina el dibujo.

C贸digo completo en Python

from turtle import * l = ('blue', 'yellow') goto(-150, -150) for i in range(2): color(l[i]) begin_fill() for j in range(4): forward(300-100*(j%2)*(i+1)) left(90) end_fill() hideturtle()

¿Qu茅 hace el programa?

Primero coloca la tortuga en la posici贸n inicial. Despu茅s utiliza el color azul para dibujar la primera parte de la bandera y el color amarillo para dibujar la segunda parte. Finalmente, oculta la tortuga.

Realizar la suma de una lista [[1,3,5,7,9,11],[2,4,6,8,10]] en Python

C贸digo del ejercicio:

lista = [[1,3,5,7,9,11],[2,4,6,8,10]]
suma = 0
for i in lista:
    for j in i:
        suma = suma + j
print(f'La suma es: {suma}')

Definici贸n de los c贸digos del ejercicio:

lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posici贸n puede ser un tipo de datos distinto.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de c贸digo.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu c贸digo, todos los nombres de las variables ser谩n remplazados con sus respectivos valores.
print() --> imprime un mensaje en la pantalla.

Explicaci贸n del C贸digo:

Realizar la suma de una lista con dos listas internas: [[1,3,5,7,9,11],[2,4,6,8,10]].

C贸digo Python

lista = [[1,3,5,7,9,11],[2,4,6,8,10]]
suma = 0

for i in lista:
    for j in i:
        suma = suma + j

print(f'La suma es: {suma}')

Explicaci贸n de cada c贸digo

lista = [[1,3,5,7,9,11],[2,4,6,8,10]]

Crea una lista que contiene dos listas internas. La primera contiene los n煤meros 1, 3, 5, 7, 9, 11 y la segunda contiene 2, 4, 6, 8, 10.

suma = 0

Crea la variable suma y le asigna el valor inicial 0.

for i in lista:

Recorre cada una de las listas que est谩n dentro de lista.

for j in i:

Recorre cada n煤mero de la lista que est谩 siendo procesada en ese momento.

suma = suma + j

Agrega cada n煤mero a la variable suma. De esta manera se van acumulando todos los valores.

print(f'La suma es: {suma}')

Muestra en pantalla el resultado final de la suma.

Resultado

La suma es: 65

Encontrar la paridad de un n煤mero dado en Python

C贸digo del ejercicio: def encontrarParidad ( x ):     x ^= x >> 16     x ^= x >> 8     x ^= x >> 4     x ^= x...

Copyright © Ejercicios de programaci贸n. Todos los derechos reservados. ❤️