我使用以下内容打印斐波纳契数字。
a, b = 0, 1
while b < 200:
print b,
a, b = b, a+b
在上面的程序中,我想将数字200
作为用户输入。我尝试了以下方法:
a, b = 0, 1
while b < (int(raw_input("Enter a number : "))):
print b,
a, b = b, a+b
如果我运行上面的脚本,它会要求输入两次并且不打印任何内容,如下所示:
C:\Users\test\Desktop>python fib.py
Enter a number : 200
1 Enter a number : 1
C:\Users\test\Desktop>
我该如何解决这个问题?
答案 0 :(得分:3)
如果raw_input
处于while
状态,则每次进行循环时都会提示用户输入。如果您只想提示用户一次,请将其放在循环之前。
a, b = 0, 1
limit = int(raw_input("Enter a number : "))
while b < limit:
print b,
a, b = b, a+b
结果:
Enter a number : 200
1 1 2 3 5 8 13 21 34 55 89 144