0

whileループを学び始めたところです。

whileループを使用して同じ数を10回反復しようとしています。

増加するある時点で停止するためにwhileループをどのように利用できるかを理解しました

しかし、1を追加して制限を設定しないと、特定の時点で停止する方法がわかりません。

これが私のコードです

i = 1
total = 0
while i < 11:
    print i
    i += 1
    total = i + total
print total

このプリント

1,2,3,4,5,6,7,8,9,10,65

別の行で

この結果を変更するにはどうすればよいですか?

1,1,1,1,1,1,1,1,1,1,10?

4

3 に答える 3

5

リテラルを印刷して合計1に追加するだけです。1

while i < 11:
    print 1
    i += 1
    total += 1

ループが実行された回数を追跡する必要があり、そのために使用iすることは問題ありませんが、それは実行ごとにループをインクリメントする必要があることを意味します。

各ループ中に、合計に1つだけ追加したい場合は、それを実行し、そのためにループカウンターを使用しないでください。

于 2012-11-09T17:57:59.457 に答える
0

whileループの要点は、特定の条件が真である間、ループを継続することです。アクションをn回実行してから、アクションが実行された回数を表示したいようです。Martijnが述べたように、これはリテラルを印刷することで実行できます。より一般的な意味では、カウンターを変数から分離しておくことを検討することをお勧めします。例:

count = 1
number = 3
while count <11:
  print number*count
print "While loop ran {0} times".format(count)
于 2012-11-09T18:02:52.800 に答える
0
i = 1
total = 0
res = []
while i < 11:
    res.append(1)
    i += 1
print ', '.join(res) +', '+ str(sum(res))

またはfor:

vals = [1 for _ in range(10)]
print ', '.join(vals) +', '+ str(sum(vals))
于 2012-11-09T18:01:28.897 に答える