平方整数的方法不起作用

问题描述

def square_digits(num):
    x = 0
    for i in str(num):
        y = int(i) * int(i)
        x += y 
    return x

上面的代码可以对整数的每个数字取平方并连接传入的整数,但它不会这样做。 我运行了belpow代码,它的输出为164。

square_digits(9119)

解决方法

如果要输出811181,则需要将x更改为字符串:

def square_digits(num):
    x = ''
    for i in str(num):
        y = int(i) * int(i)
        x += str(y) 
    return x
,

答案是正确的:
9*9 + 1*1 + 1*1 + 9*9 = 81 + 1 + 1 + 81 =164