在尝试使用元组打印斐波纳契系列时,iPython往往会崩溃。
以下是我要执行的代码。
n = raw_input("Please enter a number: ")
a = 0
b = 1
while b < n:
(b,a) = (a,b+a)
print b
但是,如果我用数字替换n(例如20,100,1000),它会顺利运行。我也尝试在Pycharm中运行此代码,结果类似。 Pycharm运行了代码,生成了大量的数据流,并显示了一条警告:
要处理的输出太多
导致此次崩溃的原因是什么?
答案 0 :(得分:1)
您忘记将从n
获得的字符串raw_input
转换为整数。
由于比较是按类型名称完成的,因此b < n
始终为True
。
使用n = int(raw_input("Please enter a number: "))
答案 1 :(得分:0)
因为raw_input的返回值是str,所以你应该试试
而是n = int(raw_input("Please enter a number: "))
。