2017-05-03 67 views
1

因此,我的代碼應該以2位數字的數字爲例(22),並將各個數字的平方排列爲[4,4]。然後將這些添加到8.然後重複此操作直到總和= 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 

但是當我這樣做,我得到的錯誤 回溯(最近最後一次通話): 線11條,在 蘇美爾=麻木[-1] + NUM [-2] 類型錯誤: '詮釋'對象不標化

我在Python 3.4.1工作謝謝

+0

'num'是'int';麻木是'str';你的意思是'sumer = numb [-1] + numb [-2]'而不是'sumer = numb [-1] + num [-2]'。並且'sumer'從'int'變爲'str'(因此永遠不會是1)。 –

+0

謝謝你 – jennmaurice

回答

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

應該

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

雖然你永遠無法離開while循環!