小白来提问!Python

定义函数f(n)为一个正整数各位数字的平方和,如f(207)=2**2+0**2+7**2=53,请写出该函数

def fun(n):
    i = n // 100
    j = n // 10 % 10
    k = n % 10 
    return i*i + j*j + k*k
n = int(input("请输入一个数:"))
print("%d各项平方和为:%d"%(n,fun(n)))

运行结果

请输入一个数:207
207各项平方和为:53

 

试试这个

def lis(n):
    return sum([eval(i)**2 for i in str(n)])

lis(2345)

 

def f(n):
    number_list = str(n)
    sum = 0
    for i in number_list:
        sum = sum + (int(i)) ** 2
    return sum