【发布时间】:2022-07-01 00:46:17
【问题描述】:
我是 Python 的绝对初学者,我试图从给定的列表中找到快乐的数字。但它没有任何回报,我搜索了一个解决方案,但我找不到一个。我的代码是这样的:
a = [1,4,7,82]
def is_happy(a):
for i in range (len(a)):
sum = a[i]
for digit in str(a[i]):
sum = 0
while sum != 1 and sum !=4:
sum = sum + int(digit) ** 2
if sum ==1:
b.append(a[i])
return b
print(is_happy(a))
愿你能帮助我。谢谢!
【问题讨论】:
-
你的
happy number的定义是什么?在我们提供帮助之前,您应该向我们说明清楚。 -
查看
return语句的缩进和外部for循环的缩进。 -
嗨,对不起。当然。维基百科说:在数论中,一个快乐的数字是一个数字,当被每个数字的平方和替换时达到 1。例如 82 是一个快乐的数字。 (8² + 2² = 68 -> 6² + 8² = 100 -> 1² + 0² + 0² = 1)。如果一个数字不是快乐的数字,它会收敛于 4。
-
这能回答你的问题吗 - stackoverflow.com/questions/62981881