编写一个函数来判断一个数是不是“快乐数”。
一个“快乐数”定义为:对于一个正整数,
每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,
也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数
一个“快乐数”定义为:对于一个正整数,
每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,
也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数
num = input('请输入数字>>>').strip()
new_num = num
if num.isdigit():
sum1 = 0
check = []
while sum1 !=1:
for i in check:
if check.count(i) >= 2:
print(new_num+'不是快乐数!')
exit()
li = []
for i in str(num):
li.append(int(i))
l = map(lambda x: x ** 2, li)
ki = []
for i in l:
ki.append(i)
sum1 = sum(ki)
check.append(sum1)
num = sum1
else:
print(new_num+'是快乐数!')
else:
print('错误的输入!不是数字!')