Menu
Coddy logo textTech

range 関数

CoddyのPythonジャーニー「基礎」セクションの一部。レッスン 40/77。

Python の range() 関数は数値のシーケンスを生成します。これは、コードを特定の回数繰り返すために for ループとよく一緒に使用されます。

0 から始まり 4 で終わる範囲を作成します。

for i in range(5):
    print(i)

出力結果は次のようになります:

0
1
2
3
4

開始値を指定することもできます。

for i in range(2, 6):
    print(i)

次のように出力されます:

2
3
4
5

ステップ値(増分)も指定できます:

for i in range(1, 10, 2):
    print(i)

次のように出力されます:

1
3
5
7
9

逆方向に数える(降順):

負の step 値を使って、逆方向に数えることもできます。負の step を使う場合、start 値は end 値より大きくなければなりません:

for i in range(10, 0, -1):
    print(i)

次のように出力されます:

10
9
8
7
6
5
4
3
2
1

より大きな負のステップも使用できます:

for i in range(20, 9, -2):
    print(i)

次のように出力されます:

20
18
16
14
12
10

10 が出力に含まれていることに注目してください。end の値が 9 であるにもかかわらずです。これは、end の値が排他的だからです。つまり、現在の値が end の値より大きい限り、loop は続きます。10 > 9 なので、10 が出力されます。次の値は 8 になりますが、これは 9 より大きくないため、loop は停止します。

重要なポイント: 負の step を使用する場合、start の値は end の値より大きくなければなりません。end の値は引き続き排他的です(含まれません)。

challenge icon

チャレンジ

初心者

range()関数を使って数値を出力するforループを書きましょう。プログラムでは次のことを行います:

  1. 3つの数値を入力として読み取る:startendstep
  2. range(start, end, step)を使ったforループで、指定されたstepの増分に従い、startからendまで(endは含まない)のすべての数値を出力する
  3. 各数値を新しい行に出力する

手順:

  • 入力を読み取るコードはすでに用意されています
  • コメントをforループに置き換える
  • ループ内でrange(start, end, step)を使う

自分で試してみよう

# ユーザーから入力を取得
start = int(input())
end = int(input())
step = int(input())

# ここにforループを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ