我试图创建一个程序来检查每个数字是否等于其各个数字的阶乘和。由于一些我无法理解的原因,它无法将任何值添加到列表中,如果我在每个实例之后打印summated变量,它将显示summated等于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)
在字符串上循环的更好方法如下:
在最后的名单上:
^{pr2}$那么你根本不需要
y
。在您需要在while循环中设置
y = 0
没关系,我注意到在每个实例结束时都没有重置y值。在
就这样。在
相关问题 更多 >
编程相关推荐