Python 3.x 无序类型:int()<;列表() next_number=[] 对于范围内的i(len(fib)): 而下一个_编号
为什么他会给我这个错误,因为下一个编号是list,[10]也是list。第一次通过Python 3.x 无序类型:int()<;列表() next_number=[] 对于范围内的i(len(fib)): 而下一个_编号,python-3.x,Python 3.x,为什么他会给我这个错误,因为下一个编号是list,[10]也是list。第一次通过循环时,您执行以下操作: 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
循环时,您执行以下操作:
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()
fib[i]+fib[i+1]
是一个int
。下一步首先检查int
是否小于[10],这将抛出TypeError
提示供将来使用:一般来说,如果Python说某个东西是int
,而您认为它是列表,那么不会有Python感到困惑。(^)
next_number = fib[i] + fib[i + 1]