今さらPython

whileでループさせると、どんな風に動くのか検証してみた。

1から10までの合計

コード

str = "経過"
i=0
n=0
while i<10:
   i=i+1
   n=n+i
   print(str,i,":",n)
str = "合計"
print(str,n)

実行

illyasviel@lucifer35:~$ python3 hello.py 
経過 1 : 1
経過 2 : 3
経過 3 : 6
経過 4 : 10
経過 5 : 15
経過 6 : 21
経過 7 : 28
経過 8 : 36
経過 9 : 45
経過 10 : 55
合計 55
illyasviel@lucifer35:~$ 

whileの条件は i<10 のはずだけど、最終ループでは i==10 になってる。
これはなぜか?
もちろんループ開始時点では i==9 で、途中で i=10 になるからよね。 つまりループは0から9だけど、実際には 1から10 なわけ。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS