如何获取用户输入的数字并在while循环中使用以打印Fibonacci数字

时间:2015-06-10 16:56:30

标签: python python-2.7

我使用以下内容打印斐波纳契数字。

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>  

我该如何解决这个问题?

1 个答案:

答案 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