range関数は連続数字を生成します

range関数は連続数字を生成します

range関数とは?

連続数字オブジェクトを生成します

 range 関数連続した数字をもつオブジェクトをつくります。
 たとえば range(10) は 0 から 9 までの 10 個の要素をもつオブジェクトを生成します。rangeオブジェクトを list() に渡すとリストに変換されます。

x = list(range(10))
print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 1 から 9 までの数字を並べる場合は次のように記述します:

x = list(range(1, 10))
print(x)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

 1 から始まって 2 ずつ増える等差数列を生成することもできます。

x = list(range(1, 10, 2))
print(x)
[1, 3, 5, 7, 9]

 一般に range 関数は次のような形で呼びだします。

 range([start,] stop[, step])

 start は最初の数字で、デフォルト値は 0 です。
 stop には最後の数字に 1 を加えたものを指定します。
 step はとなり合う数字の差分です。
 

数字を降順に並べます

 引数の step に負の値を指定すると、数字を降順(大きい順)に並べることができます。

# 数字を降順に並べます
x = list(range(10, 0, -1))

print(x)
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

 

# 数字を降順に並べます
x = list(range(10, -1, -1))
print(x)
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

 

sum関数で数字を合計します

 sum 関数を組合わせると、range オブジェクトの要素を合計することができます。

# range(5) の要素をすべて足します
# すなわち 1 + 2 + 3 + 4 + 5 を計算します
s = sum(range(5))
print(s)
10

 

繰り返し処理で range 関数を利用します

 range 関数は for と組合わせて繰り返し処理に使うことができます。たとえば range(10) から順に1つずつ値を取り出すときには次のように記述します。

#range オブジェクトから順に値を取り出します
for x in range(10):
    print(x, end = "")
0123456789

 for は range オブジェクトの最初から最後の要素まで順に取り出すので、range 関数の引数がそのまま繰り返しの回数(ループ回数)となります。

# ループ回数を数えます
count = 0
for x in range(100):
    count += 1
print("ループ回数は {} です".format(count))
ループ回数は 100 です

 最後に「Python は楽しいな」を 3 回表示させてみましょう。

# Pythonは楽しいな
for x in range(3):
    print("Pythonは楽しいな")
Pythonは楽しいな
Pythonは楽しいな
Pythonは楽しいな

 それでは皆さんも Pythonプログラミングを楽しんでください。