【Python】18日目 – range関数

プログラムの中で使う際はリストやタプルに変換して表示させることができます。

range関数

range(stop)

range型を使って戻り値を返します。

プログラムの中で使う際はリストやタプルに変換して表示させることができます。

簡単なテストとして、0~15までの整数をリストで表示させてみましょう。

test_kotaro = list(range(16))
print(test_kotaro)

このようにリストで返ってきました。

range(x) で、 0 <= 整数< x の範囲にて、1刻みの整数を表します。

range(x)では、(x)は含まれないことを注意しましょう。

15まで表示の際は、プログラムでは16となります。

range(start, stop, step)

このように指示することで、範囲を指定することができます。

試しに書いてみましょう。

test_kotaro = list(range(2, 60, 4))
print(test_kotaro)

この指示だと、2からスタートして、60までに、4ずつ。
となります。

[2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 58]

結果はこのようになります。

stepの指示がない場合

stepの指示がない場合は原則通りの1刻みで表示されます。

test_kotaro = list(range(2, 60))
print(test_kotaro)

ステップを指示しないとこのようになります。

[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59]

range(x)では(x)が含まれないことに注意です!

指定範囲の数値の合計

all = 0
for num in range(1, 21):
    print(num)
    all += num
print(all)

for文を使って順番に数値を足していきましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
210

結果はこのようになります。

all = 0
for num in range(1, 21):
    all += num
print(all)

経過が不要の場合はこうすれば結果だけ出ますよね。

all = 0
for num in range(1, 1001, 2):
    all += num
print(all)

さらに、ステップで指示を出して。。。

all = 0
for num in range(1, 1001, 2):
    all += num
print(all)

これで奇数だけ順番に足していくコードになりました。

実行結果は

250000

これくらいなら数学好きな方なら暗算でやられてしまいそうですのでこうしておきましょう。。。

all = 0
for num in range(1, 112932, 2):
    all += num
print(all)
3188409156

for文でrange分繰り返す

for文で指定回数繰り返すコードを書いてみましょう。

for _ in range(5):
    print('kotaro_marks')

実行結果はこのようになりました。

kotaro_marks
kotaro_marks
kotaro_marks
kotaro_marks
kotaro_marks

これでrangeの概要は掴めたかと思います。

Writer's profile

Kotaro
Kotaro
音大を卒業後ピアニストとして活動。
自身のピアノトリオで活動後北欧スウェーデンにてシンガーアーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツへ渡りケルンにてAchim Tangと共に作品制作。
帰国後、金田式電流伝送DC録音の名手:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入りし、録音エンジニアとしての活動開始。
独立後、音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックなどのアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
本格的に写真、映像技術を学ぶ。
現在はKotaro Studioにて民族音楽に関する文化を研究。
「誰かのためにただここに在る」をコンセプトに誰かがいつでも訪れ安心感が得られるサイトを模索中。