Tech-Joho.info

Range

Python独学ならTech-Joho TOP > Python問題集 > Range

問題

下のコードの # fix hereと書いてある行を修正し、
組み込みクラスrangeを用いて、7の倍数を小さい方から10個表示せよ


for i in range(7, 10): # fix here
    print(i)
下の欄に回答を入力し、「回答完了」を押して下さい!回答例が表示されます。

 

実行結果の例

7から70までの10個が表示されます。

7
14
21
28
35
42
49
56
63
70

回答例

rangeのコンストラクタをうまく使うと、連続した整数の数列だけでなく、特定の間隔の整数の列をつくることができます。

for i in range(7, 71, 7): # fix here
    print(i)

解説

rangeクラスのコンストラクタの最も典型的な使い方は、整数の引数を2つ指定して、第一引数以上から第二引数未満の数列を作ることです。
作った数列はlistクラスのコンストラクタの引数にして、listに変換することもできます。
For文で特定回数のループを作りたいときには便利です。

実は、rangeクラスのコンストラクタには第三引数を指定することもできます。
第三引数はstep、つまり何個ずつ整数を増やしていくか、を設定します。
ディフォルトは1なので1つずつ数字が増えていきますが、2にすれば1つとばし、3にすれば2つとばし、と飛び飛びの数値の列を作ることができます。
問題では、この機能を使っています。

print(list(range(0, 10))

for number in range(0, 20): # 20回ループさせる
print(number)

for number2 in range(0, 20, 2) # 1つおきに、0から20の手前まで数えてループさせる
print(number2)

Pythonの組み込みクラスrangeについての公式ドキュメントです。
Python3 range