【问题标题】:Happy Number from Python listPython 列表中的快乐数字
【发布时间】: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

标签: python list


【解决方案1】:

埃米诺斯, 我会提供一些建议。
在 Python 中,空白非常重要,任何新手都需要一些时间来适应。

for i in range (len(a)): 中,这是“范围”和“(”之间的额外空格。

代码块需要一致的间距(左缩进)。每个级别应为 2 或 4 个空格,PEP8 推荐 4 个空格(不是制表符)。
>总和 = 0 并且另外 2 行没有 4 个空格缩进。

我认为你的 append 和 add 也有逻辑问题。我会编辑一个跟进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    相关资源
    最近更新 更多