首页 > 解决方案 > 输入一个数字 N,然后程序继续输出所有小于 N 的 2 的幂。我该如何继续?

问题描述

所以现在我有这个:

number = int(input("Enter a number: "))
exponent = 0

while exponent <= number:
    result = 2 ** exponent  
    exponent = exponent + 1
    print(result)

例如:如果我输入 21,它会打印出所有 21 个数字,但我需要程序打印出小于 21 的数字,如下所示:

1
2
4
8
16

但并非所有 21 个数字。

标签: pythonwhile-loop

解决方案


请改用此循环:

while 2 ** exponent <= number:
    print(2 ** exponent) 
    exponent = exponent + 1

推荐阅读