Entonces ahora tengo esto:
number = int(input("Enter a number: "))
exponent = 0
while exponent <= number:
result = 2 ** exponent
exponent = exponent + 1
print(result)
Por ejemplo: si ingreso 21, imprime los 21 números, pero necesito que el programa imprima los números que son menores que 21 así:
1
2
4
8
16
Pero no todos los 21 números.
3 respuestas
Use este bucle en su lugar:
while 2 ** exponent <= number:
print(2 ** exponent)
exponent = exponent + 1
Sugiero algo un poco más rápido.
N = int(input())
val = 1
while val < N:
print(val)
val += val
En el ciclo while, use el resultado para comparar con el número en lugar del exponente, en su versión se ejecutará hasta que el exponente llegue a N y no el resultado.
number = int(input("Enter a number: "))
exponent = 0
result = 0
while result <= number:
result = 2 ** exponent
exponent = exponent + 1
print(result)
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.