0

カウントが20になるまでカウントごとに5を追加するプログラムをPythonで作成したいので、合計は100になります。したがって、基本的にはこの方法を使用して5 * 20の結果を表示したいと思います。

num = 5
count = 0
total = 0

このコードを試しましたが、ゼロが返されます。なんで?

while(count == 20):
    total = num * count
    if(total == num * count):
        count = count + 1
print total

私が犯した間違いを修正してください。私はPythonが初めてです...

4

1 に答える 1

4

あなたはおそらく意味しましたwhile count <= 20:

whileループに指定された条件は、実行を継続するために真である必要がある条件であり、終了時ではありません。

whileまた、if条件の前後に括弧は必要ないことに注意してください。

ただし、コードには奇妙な冗長性もあります。

例えば:

total = num * count
if total == num * count:
    count = count + 1

前のif行で、合計をチェックするのと同じものに設定している場合、ステートメントは常に真になります。言い換えれば、あなたはちょうど書いたかもしれません...

total = num * count
if True:
    count = count + 1

またはただ...

total = num * count
count = count + 1

さらに...

total各反復で等しいを設定num * countしますが、目標が単に印刷することnum * 20である場合は、20まで数える必要はありません。20から始めることができます。

num = 5
count = 20
print num * count

また注意してください...

この行はより簡潔に述べることができます:

count = count + 1

次のように書くこともできます...

count += 1

ついに...

本当に必要なのが5から100までの増分の数値のリストである場合は、次のようにすることができます。

>>> range(0, 101, 5)
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]

またはこれ:

>>> [n*5 for n in range(21)]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
于 2013-01-27T22:54:13.493 に答える