質問: for i in range(-10, -30, -5): print(i, end=", ") 期待していた答え: -10, -15, -20, -25, -30, 正答: -10, -15, -20, -25, なぜこうなるのでしょうか? -10から-30までを5つとばしで出力すれば-10, -15, -20, -25, -30,になると思っていたのですが。。
回答: 別回答にあるように「仕様だから」が答えなのですが、「なぜこんな仕様にしたのか」というと、おそらく「0から始めてn回繰り返す」みたいな、プログラムでは**よくある**処理をするときに便利だから、でしょうね。 たとえば、10回繰り返すときに、C言語では、 ``` for (int i = 0; i < 10; i++) { printf("%d\n", i); } ``` と書いたりしますが、Pythonでも、 ``` for i in range(0, 10): print(i) ``` のように書ける。その代わり、「1から始めて10まで(1ずつ増やす)」みたいなのが`range(1, 10 + 1)`みたいになるわけですが。