EDITZ:我已经想通了。:) 我所要做的就是.0
在末尾100
添加一个(并添加一个int()
语句)。:P 是的浮点数/小数!
我正在制作一个因子计算器。它完美地工作。这是代码的示例输出:
获得 {10} 的因数
[1、2、5、10]
获取 {120} 的因数
[1、2、3、4、5、6、8、10、12、15、20、24、30、40、60、120]
依此类推(您在花括号 ( { } ) 内输入文本)。它是用 Python 2.7 制作的。为了使其 110% 完美(比以前更好:P),我希望它显示已计算的数量.. 而我的计算机非常快并且可以立即计算出 120 的因数,如果我输入一个大数字像 5000 一样,计算大约需要 30 秒。有点长(这是因为它要计算 2500 万个方程)。如果它在屏幕底部显示一个完成百分比,这样您就可以知道还剩多长时间。
因此,当您输入 5 作为数字时,我的代码(稍后将向您展示)将输出此代码。
获得 5 的因数 计算完成:20% 计算完成:40% 计算完成:60% 计算完成:80% [1, 5]
(我不知道为什么它没有显示 100%,不过我可以很容易地添加它,所以不用担心。)好的,所以它运行良好。伟大的!现在我遇到了这个问题..
获得 101 的因数
计算完成:0%
计算完成:0%
计算完成:0%
计算完成:0%
计算完成:0%
计算完成:0%
计算完成:0%
计算完成:0%
计算完成:0%
[1, 101]
这显然是个问题。它仅在您输入一个等于或小于 100 的数字时才有效,并且感觉 100 几乎可以立即计算,这有点毫无意义。:P
此时可能是展示我的代码的好时机:
def getFactors(n):
out = [1]
for i in range(1, n):
for j in range(1, n):
if (i * j == n):
out.append(i)
print "Calculation completed: " + str(100 / n * i ) + "%"
out.append(n)
return out
while(0 < 1):
number = int(raw_input("Get factors of "))
print getFactors(number)
print ""
主要关注的部分:第一个print
功能。:P
任何线索为什么它不起作用?如果您能提供帮助,非常感谢。:)