classSolution:defisHappy(self, n:int)->bool:# 字典创建
hashMap ={}whileTrue:# 判断是否重复if n in hashMap:returnFalse# 将不重复的存入字典
hashMap[n]=1# 结束条件if n ==1:break# 拆分数值
nums = self.dismantl(n)
n =0# 制作快乐数for i inrange(len(nums)):
n += nums[i]* nums[i]returnTrue# 拆分数值函数defdismantl(self,data)->list:
result =[]while data !=0:
num = data %10
data = data //10
result.append(num)return result[::-1]