编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从这个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字,为能自动判题,假设循环次数最多100次,还没有收敛等于1,就输出False。
例如: 19 就是一个快乐的数字,计算过程如下:
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1
当输入的是快乐的数字时,输出True,否则输出False。
输入格式:
如下
输出格式:
如下
输入样例:
19
输出样例:
True
except Exception as e作用
作用:他的作用就是相当于打印程序错误处理信息,假设我这个代码为例,如果try这段代码错误,他就会执行except这段下面代码,并打印出try这段代码程序错误处理信息。
def happy(n):
try:
if n==1:
print('True')
else:
new = str(n)
sum = 0
for c in new:
sum += int(c)**2
return happy(sum)
except Exception as e:#作用:他的作用就是相当于打印程序错误处理信息,假设我这个代码例,如果try这段代码错误,他就会执行except这段下面代码,并打印出try这段代码程序错误处理信息。
print('False')
n = eval(input())#将字符串转为数值
happy(n)