miércoles, 29 de julio de 2026

Generar los números impares en forma invertida hasta N cantidad en Python

Código del ejercicio:

n = int(input('Ingrese un número: '))
i = n * 2 - 1
c = 0
while c < n:
    if i % 2 != 0:
        print(i, end=",")
        c = c + 1
    i = i - 1

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.
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 que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
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.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
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'.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

n = int(input("Ingrese un número: "))
i = n * 2 - 1
c = 0

while c < n:
    if i % 2 != 0:
        print(i, end=",")
        c = c + 1
    i = i - 1

Explicación de cada línea

Código Explicación sencilla
n = int(input("Ingrese un número: ")) Pide al usuario un número y lo guarda como un número entero en la variable n.
i = n * 2 - 1 Calcula el mayor número impar desde donde comenzará el recorrido.
c = 0 Crea un contador que llevará la cantidad de números impares mostrados.
while c < n: Repite el proceso mientras todavía no se hayan mostrado n números impares.
if i % 2 != 0: Comprueba si el número almacenado en i es impar.
print(i, end=",") Imprime el número impar encontrado y coloca una coma para que los números aparezcan en la misma línea.
c = c + 1 Aumenta el contador porque ya se mostró un número impar.
i = i - 1 Disminuye el valor de i en 1 para seguir revisando el siguiente número hacia abajo.

¿Cómo funciona el programa?

  1. Solicita un número al usuario.
  2. Calcula el mayor número impar correspondiente.
  3. Comienza a contar hacia atrás.
  4. Si el número es impar, lo muestra.
  5. Repite el proceso hasta imprimir la cantidad de números impares indicada por el usuario.

Ejemplo de ejecución

Entrada:

Ingrese un número: 5

Salida:

9,7,5,3,1,

Resumen

Este programa imprime los primeros N números impares en orden descendente. Utiliza un ciclo while, una condición if para verificar si un número es impar y un contador para saber cuántos números se han mostrado.

Código del ejercicio: Otra forma de hacer

n = int(input('Ingrese un número: '))
i = n * 2 - 1
for c in range(0, n * 2):
    if i % 2 != 0:
        print(i, end=",")
    i = i - 1

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.
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 que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
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.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
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'.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

n = int(input('Ingrese un número: '))
i = n * 2 - 1
for c in range(0, n * 2):
    if i % 2 != 0:
        print(i, end=",")
    i = i - 1

Explicación sencilla de cada línea

Código Explicación
n = int(input('Ingrese un número: ')) Solicita al usuario un número y lo guarda en la variable n. Ese número indica cuántos números impares se desean generar.
i = n * 2 - 1 Calcula el primer número impar desde donde comenzará el recorrido. Por ejemplo, si n = 5, entonces i = 9.
for c in range(0, n * 2): Repite el proceso n × 2 veces para recorrer todos los números necesarios y encontrar los impares.
if i % 2 != 0: Comprueba si el número almacenado en i es impar. Si el residuo de dividir entre 2 es diferente de 0, significa que es un número impar.
print(i, end=",") Imprime el número impar encontrado y coloca una coma al final para mostrar todos los resultados en una misma línea.
i = i - 1 Disminuye el valor de i en uno para revisar el siguiente número en orden descendente.
¿Cómo funciona el programa?

El programa pide un número N. Luego calcula el mayor número impar correspondiente y empieza a contar hacia atrás. En cada vuelta verifica si el número es impar; si lo es, lo muestra en pantalla. Finalmente disminuye el valor de i hasta completar el recorrido.

Ejemplo:
Si el usuario ingresa 5, la salida será:
9,7,5,3,1,
En este caso, el programa genera los 5 números impares en forma invertida, comenzando desde el mayor hasta llegar al menor.

No hay comentarios.:

Publicar un comentario

Solicitar solo el primer nombre y si el usuario no introduce letras volver a preguntar en Python

Código del ejercicio: def letra ( valor ):     return (valor.isalpha()) cadena = input ( "Ingrese su primer nombre: ...

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