python如何分离数字divmod方法

发布时间 2024-01-02 14:41:04作者: 山雨欲來風滿楼

需求来自于202. 快乐数

比如我有一个173,我想把每一位都算一个平方,再相加返回。

结果应该是sum = 12+7+ 32 = 1 + 49 + 9 = 59

利用divmod方法:

def get_sum(n: int) -> int:
    new_num = 0
    while n:
        print(f"分离前:{n}")
        n, r = divmod(n, 10)
        print(n, r)
        new_num += r ** 2
    return new_num


if __name__ == '__main__':
    n = 173
    print(get_sum(n))

效果: