练习:“快乐数”判断

Pyonth 代码:

# coding: utf-8
from random import randint


def ishappy_number(n):
    “快乐数”判定
    n_list = list(map(int, list(str(n)))) #解析生成整数各数位列表。
    sqrt_sum = 0 #整数各数位平方和初始化。
    for i in n_list: #遍历整数各数位列表求平方和。
        sqrt_sum += i**2 #平方和累加。
    if sqrt_sum == 1: #当平方和为1,证明是“快乐数”,返回True。
        return True
    try: #当递归到python限制递归深度1000时报错都没得到平方和为1,证明不是“快乐数”,返回False。
        return ishappy_number(sqrt_sum)
    except Exception as error:
        return False


nums = [randint(1, 2**31 - 1) for i in range(10)] #解析10个1~2**31 - 1的随机数。
for num in nums: #遍历10个随机整数,判断“快乐数”。
    print(f


{"快乐数判定":_^37}



{num:>18} :{ishappy_number(num)}



{"The End":_^42}
)
经验分享 程序员 微信小程序 职场和发展