未分類

【Python】第2章第8回:range関数の使い方と応用

Pythonのrange関数は、繰り返し処理を効率化するために非常に便利な機能です。本記事では、range関数の基本から応用例までを解説します。

0. 記事の概要

この記事を読むメリット

  • range関数の基本を理解:シーケンスを生成する方法が学べます。
  • 実用的なスキルを取得:繰り返し処理の効率化が可能になります。
  • 応用力を向上:step引数や逆順生成など、より高度な使い方を習得できます。

この記事で学べること

  • range関数の基本的な使い方
  • start、stop、step引数の利用方法
  • range関数を応用した実践的なプログラムの作成

1. range関数の基本

1.1 基本的な構文

range関数は、指定した範囲の整数を生成します。

# range関数の基本例
for i in range(5):
    print(i)
動作解説
  1. range(5)は、0から4までの整数を生成します。
  2. 生成された値がiに順に代入され、print(i)で出力されます。

1.2 引数を指定する

range関数にはstartstopstepの3つの引数を指定できます。

# start, stop, stepを指定
for i in range(1, 10, 2):
    print(i)
動作解説
  1. start=1: 生成される値の開始点を指定します。
  2. stop=10: 範囲の終了点(stopは含まれない)を指定します。
  3. step=2: 増分を指定します(例では2ずつ増加)。

2. range関数の応用例

2.1 逆順のシーケンスを生成

stepに負の値を指定することで、逆順のシーケンスを生成できます。

# 逆順シーケンス
for i in range(10, 0, -1):
    print(i)
動作解説
  1. start=10: 生成される値の開始点。
  2. stop=0: 範囲の終了点(stopは含まれない)。
  3. step=-1: 減少値を指定し、逆順にカウントします。

2.2 リストを生成する

range関数をlist()で囲むと、リストとして結果を生成できます。

# リストを生成
numbers = list(range(1, 6))
print(numbers)
動作解説
  1. range(1, 6)は1から5までのシーケンスを生成します。
  2. list()関数でそのシーケンスをリストに変換します。

3. 実践例:range関数を活用したプログラム

range関数を使用して、奇数の合計を計算するプログラムを作成します。

# 奇数の合計を計算
total = 0

for i in range(1, 10, 2):
    total += i

print(f"奇数の合計: {total}")
動作解説
  1. range(1, 10, 2)で1から9までの奇数を生成します。
  2. 各値をtotalに加算し、最終的に合計を出力します。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. range関数を使用して、2の倍数を含むリストを生成してください。
  2. range関数を使用して、10から1までの逆順リストを作成し、そのリストを出力してください。

5. 練習問題の解答と解説

問1の解答例

# 2の倍数を生成
even_numbers = list(range(2, 21, 2))
print(even_numbers)

問2の解答例

# 逆順リストを生成
reverse_list = list(range(10, 0, -1))
print(reverse_list)

6. まとめ

Pythonのrange関数を使うことで、シーケンスの生成や繰り返し処理が効率的に行えます。これを基に、さらに高度なプログラム作成に挑戦してください。