EDITZ:私はそれを理解しました。:)私がしなければならなかった.0
のは、の最後にaを追加することだけでした100
(そしてint()
ステートメントも追加しました)。:P float/decimals のイェーイ!
係数計算機を作っています。それは完全に機能します。コードの出力例を次に示します。
{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)、計算された金額を表示するようにしたい. 5000 のように、計算に約 30 秒かかります。少し長いです (これは 2500 万の方程式を計算しているためです)。画面の一番下にパーセンテージが表示されて、あとどれくらい残っているかがわかるといいですね。
したがって、私のコード (後で説明します) は、数値として 5 を入力すると、これを出力します。
5 の因数を取得 計算完了: 20% 計算完了: 40% 計算完了: 60% 計算完了: 80% [1, 5]
(なぜ 100% と表示されないのかわかりませんが、簡単に追加できますので心配しないでください。) よし、うまくいきました。すごい!今、私はこの1つの問題を取得します..
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
うまくいかない理由はありますか?あなたが助けることができればどうもありがとう. :)