-1
next_number = []

for i in range(len(fib)):

    while next_number < [10]:
        next_number = fib[i] + fib[i + 1]
        fib.append(next_number)

print(next_number)

Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
euler_fibbonacci([0, 1])
File "C:\Python33\euler_fibbonacci.py", line 17, in euler_fibbonacci
while next_number < limit:
TypeError: unorderable types: int() < list()

为什么他给我这个错误,因为 next_number 是列表,而 [10] 也是一个列表。

4

1 回答 1

2

第一次通过你的while循环你这样做:

next_number = fib[i] + fib[i + 1]

fib[i] + fib[i + 1]是一个int。下一次通过检查是否int小于 [10],这会抛出TypeError.

于 2013-10-12T17:57:35.123 回答