Python-Euler#57项目,了解错误

Python-Euler#57项目,了解错误,python,iteration,Python,Iteration,当我运行此代码来计算根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 re

当我运行此代码来计算根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()
def root_two_expansion():
总数=0
a=(3,2)
b=(7,5)
x=3
而xlen(str(c[1]):
总数+=1
a=b,b=c
x+=1
返回总数
打印根目录\u两个\u扩展()
我收到这个错误:

069.506.py“,第7行,根扩展中 c=((总和(a)+总和(b)),总和(b)) TypeError:“int”对象不可编辑

这是为什么?我不明白代码在哪个阶段尝试迭代int。如果有任何建议,我将不胜感激。

a=b,b=c
b
b
中解压元组
c
,因此只有第二个int保存在
b
中。在下一个循环步骤中,您尝试对该int调用
sum

你是说

a, b = b, c
线路

a=b,b=c
b
b
中解压元组
c
,因此只有第二个int保存在
b
中。在下一个循环步骤中,您尝试对该int调用
sum

你是说

a, b = b, c

将来你应该使用调试器,例如PyCharm来帮助你解决这类问题。将来你应该使用调试器,例如PyCharm来帮助你解决这类问题。当然,谢谢。我是一个完整的编程noob,所以这是v helpful当然,谢谢。我是一个完整的编程noob,所以这是v helpful