Python - 阶乘之和

标签 python

<分区>

我试图创建一个程序来检查每个数字,看看它是否等于其各个数字的阶乘之和。由于某种我无法理解的原因,它无法向列表中添加任何值,如果我在每个实例之后打印求和变量,它会显示求和等于 0。有人可以帮忙吗?

import math

x = 2
y = 0
summed = 0
listed = []

while x < 10000000:
        x += 1
        summed = 0
        xString = str(x)
        xLength = len(xString)
        while y < xLength:
                summed += math.factorial(int(xString[y]))
                y += 1
        if (x == summed):
                listed.append(x)

y = 0
summed = 0

listLength = len(listed)

while y < listLength:
        summed += listed[y]
        y += 1

print(listed)
print(summed)

最佳答案

您需要在 while 循环中设置 y = 0

关于Python - 阶乘之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17181117/

相关文章:

python - 使用 Python 和 datetime 模块根据 TimeUUIDType 从 Cassandra 获取列范围

python - 我如何开始处理与网站事件相关的电子邮件?

python - 在 Python 中实现 lisp

python - Pycharm SqlAlchemy 自动完成功能不工作

python - 仅从 Jupyter Notebook 中获取代码

python - 日期时间 - 10 小时

python - 使用pysftp连接FTP服务器

Python 故障排除 : ImportError: cannot import name 'main'

python - 我怎样才能获得List.__gt__()函数的源实现

java - 如何使用 python 解码编码的 Excel 文件