viernes, 7 de agosto de 2026

Mostrar los x primeros números de la siguiente serie: 2,3,6,7,14,15,30,31,62,63,... en Python

Código del ejercicio:

x = int(input('Ingresar número: '))
vi = 2
c = 0
sw = 1
while c != x:
    print(vi, end=",")
    if sw == 1:
        vi = vi + 1
        sw = 0
    else:
        vi = vi * 2
        sw = 1
    c = c + 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 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'.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
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.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

El ejercicio pide mostrar los x primeros números de la siguiente serie:

2, 3, 6, 7, 14, 15, 30, 31, 62, 63, ...

La serie sigue dos operaciones que se van alternando:

  • Primero se suma 1.
  • Después se multiplica por 2.
  • Luego se vuelve a sumar 1.
  • Después se vuelve a multiplicar por 2.

Código en Python

x = int(input('Ingresar número: ')) vi = 2 c = 0 sw = 1 while c != x: print(vi, end=",") if sw == 1: vi = vi + 1 sw = 0 else: vi = vi * 2 sw = 1 c = c + 1

Explicación de cada código

Código Función
x = int(input(...)) Pide al usuario cuántos números de la serie quiere mostrar. int() convierte el dato ingresado en un número entero.
vi = 2 Guarda el primer número de la serie. La serie comienza en 2.
c = 0 Es un contador que indica cuántos números de la serie ya se han mostrado.
sw = 1 Es un interruptor que permite alternar entre las dos operaciones: sumar 1 y multiplicar por 2.
while c != x: Repite el proceso mientras la cantidad de números mostrados sea diferente a la cantidad solicitada.
print(vi, end=",") Muestra el número actual de la serie y coloca una coma después de cada número.
if sw == 1: Comprueba si corresponde realizar la operación de sumar 1.
vi = vi + 1 Suma 1 al número actual.
sw = 0 Cambia el interruptor para que en la siguiente vuelta se realice la multiplicación por 2.
else: Se ejecuta cuando sw no es igual a 1.
vi = vi * 2 Multiplica el número actual por 2.
sw = 1 Cambia nuevamente el interruptor para que en la siguiente vuelta se realice una suma de 1.
c = c + 1 Aumenta el contador en 1 porque ya se procesó un número de la serie.

¿Cómo se genera la serie?

El programa comienza con vi = 2. Después alterna entre sumar 1 y multiplicar por 2:

Número actual Operación Siguiente número
2 + 1 3
3 × 2 6
6 + 1 7
7 × 2 14
14 + 1 15
15 × 2 30
30 + 1 31
31 × 2 62
62 + 1 63

Ejemplo

Si el usuario ingresa:

Ingresar número: 5

El programa mostrará los primeros 5 números:

2,3,6,7,14,

En resumen, sw es el encargado de alternar las operaciones: una vez suma 1 y la siguiente vez multiplica por 2.

No hay comentarios.:

Publicar un comentario

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