martes, 18 de agosto de 2026

Encontrar todas las posiciones de un carácter x de una cadena en Python

Código del ejercicio:

s = input("Ingresar texto: ")
x = input("Ingresar carácter: ")
i = 0
while i < len(s):
    if s[i] != x:
        i += 1
    else:
        print(f'El carácter {x} está en la posición {i}')
        i += 1

Definición de los códigos del ejercicio:

input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
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 asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
len() --> devuelve el número de elementos de un objeto.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
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:

🔎 Encontrar todas las posiciones

Buscar un carácter dentro de una cadena utilizando Python

📚 ¿Qué hace el ejercicio?

El programa solicita un texto y un carácter. Después recorre el texto y muestra todas las posiciones donde aparece el carácter buscado.

💻 Código Python

s = input("Ingresar texto: ")

x = input("Ingresar carácter: ")

i = 0

while i < len(s):

    if s[i] != x:
        i += 1

    else:
        print(f'El carácter {x} está en la posición {i}')   
        i += 1

📝 Explicación del código

Código Función
s = input(...) Permite ingresar el texto que se quiere analizar.
x = input(...) Permite ingresar el carácter que se desea buscar.
i = 0 Inicializa el contador en 0.
while i < len(s) Repite el proceso mientras existan caracteres por revisar.
if s[i] != x Comprueba si el carácter actual es diferente al buscado.
i += 1 Aumenta el contador para pasar a la siguiente posición.
else: Se ejecuta cuando encuentra el carácter buscado.
print(...) Muestra la posición donde se encontró el carácter.

🎯 Ejemplo

Texto: banana

Carácter buscado: a

Resultado:

El carácter a está en la posición 1
El carácter a está en la posición 3
El carácter a está en la posición 5

Elabore un algoritmo que permita, a partir de ingresar el sueldo bruto mensual de un empleado y sabiendo que se descuenta el 17% por mes, calcular y mostrar cuánto es el valor anual de sueldo neto que recibe un empleado en Python

Código del ejercicio:

sueldo_neto_anual = int(0)
for i in range(12):
    sueldo_bruto_mensual = float(input('Ingrese el sueldo bruto mensual {}: '.format(i + 1)))
    sueldo_neto_mensual = 0.83 * sueldo_bruto_mensual
    sueldo_neto_anual += sueldo_neto_mensual
print('El sueldo neto que recibe anualmente es: {}'.format(sueldo_neto_anual))

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
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.
float() --> convierte un número entero en un número de punto flotante.
input() --> permite obtener texto escrito por teclado.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Elaborar un algoritmo que permita, a partir de ingresar el sueldo bruto mensual de un empleado y sabiendo que se descuenta el 17% por mes, calcular y mostrar cuánto es el valor anual del sueldo neto que recibe un empleado.

Código Python

sueldo_neto_anual = int(0) for i in range(12): sueldo_bruto_mensual = float( input('Ingrese el sueldo bruto mensual {}: '.format(i + 1)) ) sueldo_neto_mensual = 0.83 * sueldo_bruto_mensual sueldo_neto_anual += sueldo_neto_mensual print( 'El sueldo neto que recibe anualmente es: {}'.format( sueldo_neto_anual ) )

¿Cómo se hace el ejercicio?

Primero se crea la variable sueldo_neto_anual y se le asigna el valor 0. Esta variable servirá para guardar la suma de los sueldos netos de los 12 meses.

Después se utiliza:

for i in range(12):

Este ciclo se repite 12 veces, porque un año tiene 12 meses.

Dentro del ciclo se utiliza input() para solicitar al usuario el sueldo bruto correspondiente a cada mes.

La función float() permite convertir el sueldo ingresado en un número decimal.

Como al empleado se le descuenta el 17%, significa que recibe el 83% de su sueldo bruto.

Sueldo neto = Sueldo bruto × 0.83

Por eso el programa utiliza:

sueldo_neto_mensual = 0.83 * sueldo_bruto_mensual

Después, el sueldo neto de cada mes se suma al total utilizando:

sueldo_neto_anual += sueldo_neto_mensual

Finalmente, cuando termina el ciclo de los 12 meses, se utiliza print() para mostrar cuánto recibe el empleado como sueldo neto durante todo el año.

Ejemplo

Si un empleado gana Bs 3.000 de sueldo bruto mensual:

El 17% se descuenta y queda el 83%.

Bs 3.000 × 0.83 = Bs 2.490

Por lo tanto, el empleado recibe Bs 2.490 netos ese mes.

El programa realiza este cálculo para los 12 meses y suma todos los sueldos netos para obtener el sueldo neto anual.

En el centro de Mérida existe la Oficina de Correos Mexicanos la cual tiene un letrero que dice: "No se recibirán más de 5 cartas por persona" en Python

En el centro de Mérida existe la Oficina de Correos Mexicanos la cual tiene un letrero que dice:
"No se recibirán más de 5 cartas por persona".
O sea que la gente entrega sus cartas (hasta la cantidad permitida) y luego tiene que volver a hacer la cola sí tiene más cartas para entregar.
Modelar una cola de correo generalizada, donde al momento de atender al cliente se indique la cantidad (no necesariamente 5) de cartas que se enviaran por persona.

Código del ejercicio:

print('Oficina de correos Mexicanos'.center(50, '_'))
print('No se recibirán más de 5 cartas por persona.', end='\n')
def main():
    try:
        print(end='\n')
        correo = int(input('¿Cuántas cartas va a enviar?: '))
        if correo > 5:
            correo -= 5
            print('Por favor vuelva a hacer la fila')
            print('Cartas restantes {}'.format(correo))
            main()
        elif correo > 0 and correo <= 5:
            correo -= correo
            print('Cartas enviadas')
        else:
            print('No hay cartas para enviar')
    except ValueError:
        print('Por favor ingresar solo cantidad de cartas a enviar (número)')
main()

Definición de los códigos del ejercicio:

print() --> imprime un mensaje en la pantalla.
def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
center() --> alineará al centro la cadena, utilizando un carácter específico (el espacio es el valor predeterminado) como carácter de relleno.
\n --> es el carácter de salto de línea y se usa para indicar el fin de una línea de texto y el inicio de una línea nueva.
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.
elif --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
try --> permite probar un bloque de código en busca de errores.
except --> permite manejar el error.
ValueError --> se genera cuando hay un valor incorrecto en un tipo de datos especificado.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
-= --> el operador de asignación de resta ( -= ) resta el valor del operando derecho de una variable y asigna el resultado a la variable.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
and --> devuelve True si ambos operandos son verdaderos.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.

Explicación del Código:

Oficina de Correos Mexicanos

No se recibirán más de 5 cartas por persona.

🐍 Código Python

print('Oficina de correos Mexicanos'.center(50, '_'))

print('No se recibirán más de 5 cartas por persona.', end='\n')

def main():

    try:

        print(end='\n')

        correo = int(input('¿Cuántas cartas va a enviar?: '))

        if correo > 5:

            correo -= 5

            print('Por favor vuelva a hacer la fila')

            print('Cartas restantes {}'.format(correo))

            main()

        elif correo > 0 and correo <= 5:

            correo -= correo

            print('Cartas enviadas')

        else:

            print('No hay cartas para enviar')

    except ValueError:

        print('Por favor ingresar solo cantidad de cartas a enviar (número)')

main()

📚 ¿Cómo se hace el ejercicio?

Primero se muestra en pantalla el nombre de la Oficina de Correos Mexicanos y el aviso de que una persona no puede enviar más de 5 cartas.

Después, el programa pregunta al usuario cuántas cartas desea enviar.

Se utiliza una condición para comprobar si la cantidad de cartas es mayor que 5.

Si el usuario tiene más de 5 cartas, el programa resta las 5 cartas permitidas y muestra cuántas cartas quedan.

Luego indica: "Por favor vuelva a hacer la fila". De esta manera, las cartas restantes pueden procesarse en un nuevo turno.

Si el usuario tiene entre 1 y 5 cartas, significa que puede enviarlas todas y se muestra "Cartas enviadas".

Si introduce 0 cartas o un número negativo, el programa indica que no hay cartas para enviar.

Finalmente, se utiliza try y except para evitar que el programa se detenga si el usuario escribe letras u otro dato que no sea un número.

💡 Ejemplo

Si una persona tiene 8 cartas:

8 - 5 = 3 cartas restantes

El programa permite enviar 5 cartas y solicita que la persona vuelva a hacer la fila con las 3 cartas restantes.

Si tiene 4 cartas, puede enviarlas todas porque no supera el límite de 5.

Elaborar un algoritmo para calcular la raíz cuadrada de todos los elementos pares de una lista, cada raíz calculada se debe guardar en otra colección en Python

Por pantalla nos muestra el mensaje:
[1.4142135623730951, 2.0, 2.449489742783178, 2.8284271247461903]

Código del ejercicio:

list = [1,2,4,5,6,7,8]
def raiz_ele_par(lista):
    raiz_ele_par = []
    for n in lista:
        if n % 2 == 0:
            raiz_ele_par.append(n ** 0.5)
    return raiz_ele_par
print(raiz_ele_par(list))

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.
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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
append() --> agrega un elemento al final de la lista.
** --> exponenciación.
return --> permite que una función devuelva un valor.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Ejercicio: Elaborar un algoritmo para calcular la raíz cuadrada de todos los elementos pares de una lista. Cada raíz calculada debe guardarse en otra colección.

Código Python

lista = [1, 2, 4, 5, 6, 7, 8]

def raiz_ele_par(lista):

    raiz_ele_par = []

    for n in lista:

        if n % 2 == 0:

            raiz_ele_par.append(n ** 0.5)

    return raiz_ele_par

print(raiz_ele_par(lista))

Explicación sencilla

1. lista = [1, 2, 4, 5, 6, 7, 8]

Crea una lista que contiene varios números. Algunos son pares y otros son impares.

2. def raiz_ele_par(lista):

Crea una función llamada raiz_ele_par. La función recibe la lista como parámetro.

3. raiz_ele_par = []

Crea una lista vacía donde se guardarán las raíces cuadradas de los números pares.

4. for n in lista:

Recorre uno por uno todos los elementos de la lista. La variable n representa el número que se está revisando.

5. if n % 2 == 0:

Comprueba si el número es par. El operador % obtiene el resto de una división. Si el resto de dividir entre 2 es 0, el número es par.

6. raiz_ele_par.append(n ** 0.5)

Calcula la raíz cuadrada del número par y la agrega a la nueva lista.

n ** 0.5 significa elevar el número a la potencia 0.5, que equivale a calcular su raíz cuadrada.

7. return raiz_ele_par

Devuelve la lista que contiene todas las raíces cuadradas calculadas.

8. print(raiz_ele_par(lista))

Ejecuta la función utilizando la lista original y muestra el resultado en pantalla.

¿Qué números se procesan?

Número ¿Es par? Raíz cuadrada
1 No No se calcula
2 1.4142...
4 2.0
5 No No se calcula
6 2.4494...
7 No No se calcula
8 2.8284...

Resultado

Salida del programa

[1.4142135623730951, 2.0, 2.449489742783178, 2.8284271247461903]

Estos valores corresponden a las raíces cuadradas de los números pares 2, 4, 6 y 8.

Resumen del algoritmo

1. Se crea una lista de números.

2. Se crea una lista vacía para guardar los resultados.

3. Se recorren todos los números de la lista.

4. Se verifica cuáles son pares.

5. A cada número par se le calcula la raíz cuadrada.

6. Cada raíz se guarda en la nueva lista.

7. Finalmente, se muestra la nueva lista.

Código del ejercicio: Otra forma de hacer

list = [1,2,4,5,6,7,8]
def raiz_ele_par(lista):
    return [n ** 0.5 for n in lista if n % 2 == 0]
print(raiz_ele_par(list))

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.
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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
append() --> agrega un elemento al final de la lista.
** --> exponenciación.
return --> permite que una función devuelva un valor.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

El objetivo del ejercicio es recorrer una lista, identificar únicamente los números pares, calcular la raíz cuadrada de cada uno y guardar las raíces calculadas en una nueva colección.

Código Python

lista = [1, 2, 4, 5, 6, 7, 8]

def raiz_ele_par(lista):
    return [n ** 0.5 for n in lista if n % 2 == 0]

print(raiz_ele_par(lista))

Explicación de cada código

  • lista = [1, 2, 4, 5, 6, 7, 8]
    Crea una lista que contiene varios números.
  • def raiz_ele_par(lista):
    Define una función llamada raiz_ele_par que recibe una lista.
  • for n in lista
    Recorre uno por uno todos los elementos de la lista. La variable n representa cada número.
  • n % 2 == 0
    Comprueba si el número es par. Si al dividirlo entre 2 el resto es 0, significa que es par.
  • n ** 0.5
    Calcula la raíz cuadrada del número. Elevar un número a 0.5 es otra forma de calcular su raíz cuadrada.
  • [n ** 0.5 for n in lista if n % 2 == 0]
    Es una comprensión de listas. Recorre la lista, selecciona solamente los números pares y calcula la raíz cuadrada de cada uno.
  • return
    Devuelve la nueva lista que contiene las raíces cuadradas calculadas.
  • print(raiz_ele_par(lista))
    Ejecuta la función utilizando la lista y muestra el resultado en pantalla.
Resultado:

Los números pares son: 2, 4, 6 y 8.

Sus raíces cuadradas son aproximadamente: [1.414, 2.0, 2.449, 2.828]

¿Cómo funciona el algoritmo?

Primero se crea la lista. Después, la función recorre todos sus elementos. Cada vez que encuentra un número par, calcula su raíz cuadrada y la agrega automáticamente a una nueva lista.

Por ejemplo:

2 → √2 → 1.414
4 → √4 → 2
6 → √6 → 2.449
8 → √8 → 2.828

Finalmente, la función devuelve la nueva colección con todas las raíces calculadas.

Imprimir el patrón siguiente usando bucles en Python

Ejemplo: si ingresamos el número 9, nos dibujara un triángulo de asteriscos de 9 filas.

*
**
***
****
*****
****
***
**
*

Código del ejercicio:

for i in range(9):
    if i <= 4:
        for j in range(i + 1):
            print('*', end='')
    else:
        for j in range(9 - i):
            print('*', end='')
    print()

Definición de los códigos del ejercicio:

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
, --> concatena variables de cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código Python

for i in range(9):
    if i <= 4:
        for j in range(i + 1):
            print('*', end='')
    else:
        for j in range(9 - i):
            print('*', end='')
    print()

Explicación del código

  • for i in range(9):
    Repite el proceso 9 veces. La variable i toma los valores del 0 al 8.
  • if i <= 4:
    Comprueba si i es menor o igual a 4. Esto corresponde a la primera mitad del patrón.
  • for j in range(i + 1):
    Repite la impresión del asterisco dependiendo del valor de i. Así, los asteriscos van aumentando: 1, 2, 3, 4 y 5.
  • print('*', end='')
    Imprime un asterisco. El parámetro end='' evita que se haga un salto de línea después de cada asterisco.
  • else:
    Se ejecuta cuando i es mayor que 4. Aquí comienza la segunda mitad del patrón.
  • for j in range(9 - i):
    Calcula cuántos asteriscos se deben imprimir para que disminuyan progresivamente.
  • print()
    Hace un salto de línea después de completar cada fila.

Resultado

* ** *** **** ***** **** *** ** *

¿Cómo funciona el patrón?

El programa utiliza un bucle para crear 9 filas. Primero aumenta la cantidad de asteriscos desde 1 hasta 5 y después la disminuye desde 4 hasta 1.

Por eso el resultado tiene forma de diamante o pirámide:

*
**
***
****
*****
****
***
**
*

Desarrollar un algoritmo que determine si un número es divisible por otro número dentro de un determinado rango como se ve a continuación en Python

DESARROLLAR UN ALGORITMO QUE DETERMINE SI UN NÚMERO ES DIVISIBLE POR OTRO NÚMERO DENTRO DE UN DETERMINADO RANGO COMO SE VE A CONTINUACIÓN

DIVISIBILIDAD EN UN RANGO
--> Ingrese límite inferior: 2
--> Ingrese límite superior: 15
--> Ingrese el número de divisibilidad: 3

############ RESULTADOS ############

--> Rango de números: 2 3 4 5 6 7 8 9 10 11 12 13 14 15
--> Números no divisibles: 2 4 5 7 8 10 11 13 14
--> Números divisibles: 3 6 9 12 15 y la suma de los # divisibles es: 45

- Validar el ingreso de datos, L. Inferior < L. Superior
- Después de usar tres veces el programa debe de preguntar si desea continuar

Código del ejercicio:

veces = 1
while veces <= 3:
    print("\nDIVISIBILIDAD EN UN RANGO")
    while True:
        limite_inferior = int(input("--> Ingrese límite inferior: "))
        limite_superior = int(input("--> Ingrese límite superior: "))
        if limite_inferior < limite_superior:
            break
        print("El número inferior debe ser menor que el número superior")
    numero_divisibilidad = int(input("--> Ingrese el número de divisibilidad: "))
    print("\n", "#" * 12, "RESULTADOS", "#" * 12, "\n")
    lista_divisibles, lista_no_divisibles = [ ], [ ]
    print("--> Rango de números: ", end=" ")
    for numero in range(limite_inferior, limite_superior + 1):
        print(numero, end=" ")
        if numero % numero_divisibilidad:
            lista_no_divisibles.append(numero)
        else:
            lista_divisibles.append(numero)
    print("\n--> Números no divisibles: ", * lista_no_divisibles)
    print("--> Números divisibles: ", * lista_divisibles, end=" ")
    print("y la suma de los # divisibles es: ", sum(lista_divisibles))
    if veces == 3:
        if input("\n\n¿Desea continuar? (S/N): ").lower().strip() == "s":
            int_veces = 0
    veces += 1

Definición de los códigos del ejercicio:

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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
print() --> imprime un mensaje en la pantalla.
while True --> se ejecuta sin ninguna condición hasta que la instrucción break se ejecuta dentro del ciclo.
break --> se utiliza para romper un for bucle o un while bucle.
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.
int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
\n --> es el carácter de salto de línea y se usa para indicar el fin de una línea de texto y el inicio de una línea nueva.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
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.
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.
% --> el operador de modulo ( % ) devuelve el resto de la división.
append() --> agrega un elemento al final de la lista.
, --> concatena variables de cadena.
sum() --> devuelve un número, la suma de todos los elementos en un iterable.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
lower() --> devuelve una cadena donde todos los caracteres están en minúsculas.
strip() --> elimina cualquier carácter inicial (espacios al principio) y final (espacios al final) (el espacio es el carácter inicial predeterminado para eliminar).
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.

Explicación del Código:

Explicación sencilla del algoritmo paso a paso

📌 ¿Qué hace el programa?

El programa solicita al usuario un límite inferior, un límite superior y un número de divisibilidad. Después recorre todos los números del rango y determina cuáles son divisibles por el número indicado.

También muestra los números que no son divisibles y calcula la suma de todos los números divisibles.

🐍 Código Python

veces = 1

while veces <= 3:

    print("\nDIVISIBILIDAD EN UN RANGO")

    while True:

        limite_inferior = int(input("--> Ingrese límite inferior: "))
        limite_superior = int(input("--> Ingrese límite superior: "))

        if limite_inferior < limite_superior:
            break

        print("El número inferior debe ser menor que el número superior")

    numero_divisibilidad = int(input("--> Ingrese el número de divisibilidad: "))

    print("\n", "#" * 12, "RESULTADOS", "#" * 12, "\n")

    lista_divisibles, lista_no_divisibles = [], []

    print("--> Rango de números: ", end=" ")

    for numero in range(limite_inferior, limite_superior + 1):

        print(numero, end=" ")

        if numero % numero_divisibilidad:
            lista_no_divisibles.append(numero)
        else:
            lista_divisibles.append(numero)

    print("\n--> Números no divisibles: ", *lista_no_divisibles)

    print("--> Números divisibles: ", *lista_divisibles, end=" ")

    print("y la suma de los # divisibles es: ",
          sum(lista_divisibles))

    if veces == 3:

        if input("\n\n¿Desea continuar? (S/N): ").lower().strip() == "s":
            veces = 0

    veces += 1

🔎 Explicación de cada código

  • veces = 1: crea una variable llamada veces y le asigna el valor 1. Sirve para controlar las repeticiones del programa.
  • while veces <= 3: repite el programa mientras el valor de veces sea menor o igual que 3.
  • print(...): muestra en pantalla el título del programa.
  • while True: crea un ciclo que continúa ejecutándose hasta encontrar una instrucción break.
  • limite_inferior = int(input(...)): pide al usuario el primer número del rango y lo convierte a un número entero.
  • limite_superior = int(input(...)): pide al usuario el último número del rango.
  • if limite_inferior < limite_superior: comprueba que el límite inferior sea menor que el superior.
  • break: termina el while True cuando los límites son correctos.
  • numero_divisibilidad: almacena el número que se utilizará para comprobar la divisibilidad.
  • lista_divisibles = []: crea una lista vacía donde se guardarán los números divisibles.
  • lista_no_divisibles = []: crea una lista vacía para guardar los números que no son divisibles.
  • for numero in range(...): recorre todos los números desde el límite inferior hasta el límite superior.
  • numero % numero_divisibilidad: utiliza el operador %, que obtiene el resto de una división.
  • if numero % numero_divisibilidad: comprueba si el resto es diferente de cero. Si es diferente de cero, el número no es divisible.
  • lista_no_divisibles.append(numero): agrega el número a la lista de números no divisibles.
  • else: se ejecuta cuando el resto de la división es cero.
  • lista_divisibles.append(numero): agrega el número a la lista de números divisibles.
  • sum(lista_divisibles): suma todos los números que fueron guardados en la lista de divisibles.
  • if veces == 3: comprueba si el programa llegó a su tercera ejecución.
  • .lower(): convierte la respuesta del usuario a letras minúsculas. Por ejemplo, transforma S en s.
  • .strip(): elimina espacios innecesarios al principio y al final de la respuesta.
  • veces += 1: aumenta el contador en 1 para controlar las repeticiones.

➗ ¿Cómo funciona el operador %?

El operador % obtiene el resto de una división. Para saber si un número es divisible por otro, el resto debe ser igual a 0.

Operación Resto Resultado
6 % 3 0 6 es divisible entre 3
7 % 3 1 7 no es divisible entre 3
9 % 3 0 9 es divisible entre 3

📝 Ejemplo

Supongamos que el usuario introduce:

Límite inferior: 1
Límite superior: 10
Número de divisibilidad: 3

El programa revisará los números del 1 al 10.

Números divisibles: 3, 6, 9

Números no divisibles: 1, 2, 4, 5, 7, 8, 10

Suma de los divisibles: 3 + 6 + 9 = 18

💡 Resumen

El programa recibe un rango y un número. Después revisa cada número del rango utilizando el operador %.

Si el resto es 0, el número es divisible y se guarda en lista_divisibles. Si el resto es diferente de 0, se guarda en lista_no_divisibles.

Finalmente, el programa muestra ambas listas y calcula la suma de los números divisibles.

Escribe un programa para pedirle al usuario el número de horas y la tarifa por hora para calcular el salario bruto en Python

Introduzca Horas: 35
Introduzca Tarifa: 2.75
Salario: 96.25

Código del ejercicio:

hora = float(input('Introduzca Horas: '))
tarifa = float(input('Introduzca Tarifa: '))
print(f'Salario: {hora * tarifa}')

Definición de los códigos del ejercicio:

float() --> convierte un número entero en un número de punto flotante.
input() --> permite obtener texto escrito por teclado.
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:

Escribe un programa para pedirle al usuario el número de horas y la tarifa por hora para calcular el salario bruto en Python.

Código Python

hora = float(input('Introduzca Horas: '))

tarifa = float(input('Introduzca Tarifa: '))  

print(f'Salario: {hora * tarifa}')

Explicación del código

1. Solicitar las horas:
hora = float(input('Introduzca Horas: ')) permite al usuario introducir la cantidad de horas trabajadas.

2. Convertir el dato:
float() convierte el valor introducido en un número decimal.

3. Guardar las horas:
La variable hora almacena la cantidad de horas trabajadas.

4. Solicitar la tarifa:
tarifa = float(input('Introduzca Tarifa: ')) solicita al usuario cuánto se paga por cada hora.

5. Calcular el salario:
hora * tarifa multiplica las horas trabajadas por la tarifa correspondiente.

6. Mostrar el resultado:
print() muestra en pantalla el salario bruto calculado.

Ejemplo de ejecución

Supongamos que el usuario introduce:

Introduzca Horas: 40
Introduzca Tarifa: 15
Salario: 600.0

40 × 15 = 600

Por lo tanto, el salario bruto es de 600.

Encontrar todas las posiciones de un carácter x de una cadena en Python

Código del ejercicio: s = input ( "Ingresar texto: " ) x = input ( "Ingresar carácter: " ) i = 0 while i...

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