【Python】for文(ループ)の作り方と使い方

for eyecatch image

110までの値を足し算したい時、1 + 2 + 3 + …としているととても時間がかかります。110までならまだ手で打って対応できますが、11000までとなるととても対応できません。
そんな時にループ処理を使うと簡単に解決できます。ここではfor文を取り上げて考えたいと思います。

目次

for文の基本の形

for文を作るときは次のように書きます。
for 変数名 in イテラブルオブジェクト:
     繰り返し行う処理
ポイントとして、次の7つがあります。

forで書き始め、その後に半角スペースを1つ書きます。
②変数名を入れます。②の変数名は⑦の繰り返し行う処理の中で使われる変数名になる事が多いです。
inを書きます
④繰り返し行う処理の元となるオブジェクトが置かれる事が多いです。
(コロン)で一文の終わりを区切ります。
半角スペース4個をつけてインデントします。
⑦繰り返し行う処理を記述します。

110までの足し算をfor文で

さて、では実際にfor文を使ってみましょう。ここでは、110までを足した時をみていきます。まずは、地道に一つずつ足していきたいと思います。

Python
x = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
print(x)

'''
【実行結果】
55

つづいて、for文を使ってみていきましょう。110までのリストを使って足し算をしてみます。

Python
num = [1,2,3,4,5,6,7,8,9,10]
sum = 0
for x in num:
    sum = sum + x 
print(sum)

'''
【実行結果】
55

先ほどと同じ結果になりました。これだけではよくわからないと思いますので、ループ処理が行われている時に、変数xの値がどのように変化しているか見ていきたいと思います。ループ処理中のxの値を出力してみます。

Python
num = [1,2,3,4,5,6,7,8,9,10]
for x in num:
    print(x)

'''
【実行結果】
1
2
3
4
5
6
7
8
9
10

1回目の処理ではxの値にリストnumの一番始めの数値である1が代入されます。続いて、2回目のループ処理に入ります。2回目では、リストの2番目の数値である2が代入されます。続いて、3回目では・・・と続きます。

range()関数を用いたループ処理

上記のリストを用いた方法だと、結局は必要な数値を入力しないといけないので、ループ処理を用いてもあまり効率的ではありません。11000までの総和を取りたい時など現実的ではありません。そんな時には、range()関数を用いると効率的にコードを書くことができます。
range()関数はrange(stop)もしくはrange(start,stop,step)(stepは省略できる。省略した場合は1とみなされる)と書くことができます。range(stop)とした場合は0からスタートになります。また、stopの数値の1つ前の値までが渡されます。

▼関連記事:【Python】range()関数の使い方


では、先ほどのコードをrange()関数を使って書いてみましょう。

Python
for x in range(11):
    print(x)

'''
【実行結果】
0
1
2
3
4
5
6
7
8
9
10

startの値を指定しなかったので、0から出力されました。また、stepの値を指定しなかったので、1とみなされています。加えて、11の1つ手前の数値の10まで出力されました。

これを用いて010までの総和をとってみましょう。

Python
sum = 0
for x in range(11):
    sum = sum + x
print(sum)

'''
【実行結果】
55

range()関数を用いると11000の総和も簡単に調べることができます。

Python
sum = 0
for x in range(1001):
    sum = sum + x
print(sum)

'''
【実行結果】
500500

for文の基本的な作り方と使い方をまとめました。for文で使われるcontinuebreakについても下記記事でまとめていますので、ご参照ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次