当我运行此代码来计算根2连续分数的收敛:
def root_two_expansion():
total=0
a=(3,2)
b=(7,5)
x=3
while x<=1000:
c=((sum(a)+sum(b)),sum(b))
if len(str(c[0]))>len(str(c[1])):
total+=1
a=b,b=c
x+=1
return total
print root_two_expansion()
我收到此错误:
069.506.py“,第7行,在root_two_expansion中 C =((总和(A)+和(b)中),和(b))的 TypeError:'int'对象不可迭代
这是为什么?我不明白代码在哪个阶段尝试迭代int。我会很感激任何建议。
答案 0 :(得分:5)
该行
a=b,b=c
解压缩c
和b
中的元组b
,因此只有第二个int保存在b
中。在下一个循环步骤中,您尝试在此int上调用sum
。
你的意思是
a, b = b, c