Python平方函数和

Tha*_*ith -2 python sum function

我在最后一个问题上遇到了麻烦.它来自"如何像计算机科学家一样思考"一书.你能帮助我吗?

写一个函数sum_of_squares_of_digits,它计算传递给它的整数数字的平方和.例如,sum_of_squares_of_digits(987)应该返回194,因为9*2 + 8*2 + 7**2 == 81 + 64 + 49 == 194.

Mar*_*ers 5

将整数转换为字符串,然后将单个字符转换回整数:

def sum_of_squares_of_digits(value):
    return sum(int(c) ** 2 for c in str(value))
Run Code Online (Sandbox Code Playgroud)

sum()与生成器表达式一起使用,将所有数字转回整数,将它们平方,并将结果再次求和.

演示:

>>> def sum_of_squares_of_digits(value):
...     return sum(int(c) ** 2 for c in str(value))
... 
>>> sum_of_squares_of_digits(987)
194
Run Code Online (Sandbox Code Playgroud)