我的程序应该输入2的输入和输出功率。例如输入8,输出1,2,4,8,16,32,65,128。但是,它不是执行8个整数并输出每个* 2,而是仅在它达到数字8时停止。我不想使用**运算符。
limit=input('Enter a value for limit')
limit =int(limit)
ctr=1
while ctr <= (limit):
print(ctr, end=' ')
ctr=ctr*2
print("limit=", limit)
答案 0 :(得分:1)
@ tigerhawkt3的答案是最好的,但是如果你想要一个while循环,你可以这样做:
limit = input('Enter a value for limit')
limit = int(limit)
ctr = 1
i = 0
while i < (limit):
print(ctr, end=' ')
ctr *= 2
i += 1
print("limit=", limit)
答案 1 :(得分:0)
ctr
是值,而不是您执行操作的次数。请改用range
,并为清晰起见使用更合适的变量名称:
limit = input('Enter a value for limit: ')
limit = int(limit)
result = 1
for _ in range(limit):
print(result, end=' ')
result *= 2
print()
print(f"limit={limit}")
结果:
Enter a value for limit: 8
1 2 4 8 16 32 64 128
limit=8
您可以使用for
循环模拟range
循环和while
,如下所示,但我不建议:
ctr = 0
while ctr < limit:
print(result, end=' ')
result *= 2
ctr += 1