检查它是否是一个快乐的数字

时间:2017-05-03 12:36:19

标签: python numbers

因此,我的代码应采用2位数字的数字,例如(22),并将各个数字平方为[4,4]。然后添加这些8.然后重复这个直到sum = 1或者如果它从不= 1则无休止地重复。我的代码到目前为止不起作用。

    num = int(input("--->")) #input
    sumer = 0
    numb = [int(d) for d in str(num)] #splits the input into the digits

    while sumer != 1:
        numb = [int(d) for d in str(num)] 
        numb[-1] = numb[-1] * numb[-1]
        print(numb)
        numb[-2] = numb[-2] *numb[-2]
        print(numb)
        sumer = numb[-1] + num[-2]
        print(sumb)
        numb = sumer

但是当我这样做时,我得到了错误      Traceback(最近一次调用最后一次):      第11行,在      sumer =麻木[-1] + num [-2]      TypeError:'int'对象不可订阅

我在python中工作3.4.1谢谢

1 个答案:

答案 0 :(得分:1)

sumer = numb[-1] + num[-2]

应该是

sumer = numb[-1] + numb[-2]

你永远不会走出while循环!