0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonのforループとrange関数の学習まとめ

Posted at

Pythonのforループとrange関数の学習まとめ


1. forループとは?

forループは、リストや文字列などの「反復可能なオブジェクト(イテラブル)」の要素を1つずつ取り出して処理するためのループ構文です。

基本構文

for 変数 in イテラブル:
    処理
  • 変数: イテラブル(例: リスト、文字列など)の各要素が順番に代入されます。
  • イテラブル: リストや文字列など、反復可能なオブジェクト。
  • 処理: 各要素に対して実行するコード。

例1: リストの要素を処理

fruits = ["apple", "grape", "orange", "peach"]

for fruit in fruits:
    print(f"I love {fruit}!")

出力

I love apple!
I love grape!
I love orange!
I love peach!

例2: 文字列を処理

for char in "hello world":
    print(f"char: {char}")

出力

char: h
char: e
char: l
char: l
char: o
char:  
char: w
char: o
char: r
char: l
char: d

用語解説

  1. イテレーション:
    • 「ループでオブジェクトの要素を1つずつ取り出す処理」のこと。
  2. イテラブル:
    • リスト、文字列、タプル、辞書など、ループ処理が可能なオブジェクト。
  3. inキーワード:
    • forループ内のinは「イテラブルの中の要素を順番に取り出す」意味で、in演算子とは異なります。

2. range関数とは?

range関数は、指定された範囲の連続した数値を生成するためのPythonの組み込み関数です。ループ処理で連続した数値を使いたい場合に非常に便利です。

基本構文

range(start, stop, step)

引数の説明

  1. start(省略可能):
    • 連番の開始値(省略時は0から)。
  2. stop:
    • 連番の終了値(この値は含まれません)。
  3. step(省略可能):
    • 連番の間隔(省略時は1)。

例1: 0から9までの連続した数値を生成

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

出力

0
1
2
3
4
5
6
7
8
9

例2: 開始値と終了値を指定

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

出力

5
6
7
8
9

例3: ステップを指定

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

出力

1
3
5
7
9

例4: 逆順の数値を生成

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

出力

10
8
6
4
2

3. 応用例

forループとrangeの組み合わせ

rangeを使うことで、指定された範囲の数値に対して効率的に処理を行えます。

例: 指定回数の文字列出力

for _ in range(5):
    print("Hello, Python!")

出力

Hello, Python!
Hello, Python!
Hello, Python!
Hello, Python!
Hello, Python!

FizzBuzz問題

1から50までの数値をループで処理し、以下のルールで出力するプログラム:

  1. 数字が3で割り切れる場合: Fizz
  2. 数字が5で割り切れる場合: Buzz
  3. 両方で割り切れる場合: FizzBuzz
  4. それ以外の場合はそのまま数字を出力。
for i in range(1, 51):
    if i % 3 == 0 and i % 5 == 0:
        print(f"{i}: FizzBuzz")
    elif i % 3 == 0:
        print(f"{i}: Fizz")
    elif i % 5 == 0:
        print(f"{i}: Buzz")
    else:
        print(i)

出力例

1
2
3: Fizz
4
5: Buzz
6: Fizz
...
15: FizzBuzz
...
50: Buzz

4. 注意点

  1. range関数の終了値は含まれない:
    • 例: range(10) は 0 から 9 までの範囲。
  2. startstep の省略:
    • range(10)range(0, 10, 1) と同じ。
  3. 負のステップ:
    • range に負の値を指定すると逆順の連番を生成できます。

まとめ

  • forループはリストや文字列などのイテラブルなオブジェクトを操作するのに最適。
  • range関数は連続した数値を効率的に生成し、forループと組み合わせることで柔軟な繰り返し処理を実現。
  • 応用例として、特定の条件(例: FizzBuzz)に応じた処理を行うことも可能。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?