プログラミング上達のコツは学習初期段階でとにかく手を動かしてコーディングすることです。
本シリーズでは Python の初学者に向けたコーディング問題を出題します。
今回はrange関数、for文、for文のネスト を学習します。コーディング指示に従ってコーディングしてみましょう!
学習の進め方-
- プログラム説明および目的を確認し、どのようなプログラムで何を学ぶかイメージしましょう。
- コーディング指示に従ってコーディングをします。
もし分からなければ、コード例を確認しても良いです。 - 自分の出力結果と出力結果例を比較してみましょう。
- コード例を確認し、自分のコードと比較してみましょう。
コード例は「あくまでも例」なので完全に一致する必要はありません。 - 最終的にはコーディング指示だけでコーディングできるよう、繰り返し練習しましょう。
Python コーディング問題 1:range関数
プログラム説明
プログラム説明:このプログラムでは、range関数を使って様々な範囲やステップの数値列を生成し、リストに変換して表示します。
目的
range関数の基本的な使い方とその応用方法を学びます。
コーディング指示
新しい Python ファイル range_examples.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
range_examples.py
として保存します。
以下の手順に従ってプログラムを作成してください。
range
関数を使用して数値列を生成し、リスト型コンストラクタの引数として指定してリストに変換してください(list
関数を使用)。以下の各範囲の数値を生成して表示してください:- 5から15までの数を生成する
- -10から0までの数を生成する
- 50から30まで2ずつ減少する数を生成する
- 10から100まで10ずつ増加する数を生成する
- -5から5まで1ずつ増加する数を生成する
- 100から50まで5ずつ減少する数を生成する
- 3から15まで3ずつ増加する数を生成する
出力結果例
タップして出力結果例を表示
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0]
[50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30]
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
[100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50]
[3, 6, 9, 12, 15]
Python コード例
タップしてコード例を表示
# 5から15までの数を生成する
print(list(range(5, 16)))
# -10から0までの数を生成する
print(list(range(-10, 1)))
# 50から30まで2ずつ減少する数を生成する
print(list(range(50, 29, -2)))
# 10から100まで10ずつ増加する数を生成する
print(list(range(10, 101, 10)))
# -5から5まで1ずつ増加する数を生成する
print(list(range(-5, 6)))
# 100から50まで5ずつ減少する数を生成する
print(list(range(100, 49, -5)))
# 3から15まで3ずつ増加する数を生成する
print(list(range(3, 16, 3)))
Python コーディング問題 2:rangeを利用したfor文
プログラム説明
このプログラムでは、range関数を使って様々な範囲やステップの数値列を生成し、ループ処理を行って表示します。
目的
range関数とループ処理の基本的な使い方を学びます。
コーディング指示
新しい Python ファイル range_loops.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
range_loops.py
として保存します。
以下の手順に従ってプログラムを作成してください。
range
関数を使用して数値列を生成し、ループ処理を行って以下の内容を表示してください:- 7回目のループまでを表示する(
range
関数を使用) - 5の段を表示する(
range
関数を使用) - 50から70までの奇数を表示する(
range
関数を使用) - 10から1までのカウントダウンを表示する(
range
関数を使用) - 15から45までの3の倍数を表示する(
range
関数を使用) - -10から-1までの数を表示する(
range
関数を使用) - 20から2までの偶数を降順で表示する(
range
関数を使用)
- 7回目のループまでを表示する(
- 各数値列の表示には
end="\t"
を使用してタブ区切りで出力してください。
出力結果例
タップして出力結果例を表示
1 回目のループ
2 回目のループ
3 回目のループ
4 回目のループ
5 回目のループ
6 回目のループ
7 回目のループ
5の段を表示します。
5 10 15 20 25 30 35 40 45
50から70までの奇数を表示します。
51 53 55 57 59 61 63 65 67 69
10から1までのカウントダウンを表示します。
10 9 8 7 6 5 4 3 2 1
15から45までの3の倍数を表示します。
15 18 21 24 27 30 33 36 39 42 45
-10から-1までの数を表示します。
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
20から2までの偶数を降順で表示します。
20 18 16 14 12 10 8 6 4 2
Python コード例
タップしてコード例を表示
# 7回目のループまでを表示します。
for i in range(7):
print(f"{i + 1} 回目のループ")
print() # 改行
# 5の段を表示します。
print("5の段を表示します。")
for i in range(1, 10):
print(5 * i, end="\t")
print() # 改行
# 50から70までの奇数を表示します。
print("50から70までの奇数を表示します。")
for i in range(51, 71, 2):
print(i, end="\t")
print() # 改行
# 10から1までのカウントダウンを表示します。
print("10から1までのカウントダウンを表示します。")
for i in range(10, 0, -1):
print(i, end="\t")
print() # 改行
# 15から45までの3の倍数を表示します。
print("15から45までの3の倍数を表示します。")
for i in range(15, 46, 3):
print(i, end="\t")
print() # 改行
# -10から-1までの数を表示します。
print("-10から-1までの数を表示します。")
for i in range(-10, 0):
print(i, end="\t")
print() # 改行
# 20から2までの偶数を降順で表示します。
print("20から2までの偶数を降順で表示します。")
for i in range(20, 1, -2):
print(i, end="\t")
print() # 改行
Python コーディング問題 3:for文のネスト
プログラム説明
このプログラムでは、for文のネストを使用して行と列の表や直角三角形の星印を表示します。
目的
for文のネストを使って、複数の次元を扱う方法を学びます。
コーディング指示
新しい Python ファイル nested_loops.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
nested_loops.py
として保存します。
以下の手順に従ってプログラムを作成してください。
- 以下の内容を
for
文のネストを使って表示してください:- 行と列を表示する表を作成する
for
文を使用して1から3までの行をループさせる- さらにその中で、
for
文を使用して1から3までの列をループさせる - 行と列の組み合わせをタブ区切りで表示するために、
print
関数のend="\t"
を使用する - 内側の
for
文の後に改行するために、print()
を使用する
- 直角三角形の星印を表示する
for
文を使用して1から5までの行をループさせる- さらにその中で、
for
文を使用して現在の行数分だけ星を表示する - 星を表示するために、
print("*", end="")
を使用する - 内側の
for
文の後に改行するために、print()
を使用する
- 行と列を表示する表を作成する
出力結果例
タップして出力結果例を表示
行と列を表示する表を作成します
(1, 1) (1, 2) (1, 3)
(2, 1) (2, 2) (2, 3)
(3, 1) (3, 2) (3, 3)
直角三角形の星印を表示します
*
**
***
****
*****
Python コード例
タップしてコード例を表示
# 行と列を表示する表を作成します
print("行と列を表示する表を作成します")
for row in range(1, 4): # 1から3までの行をループ
for col in range(1, 4): # 1から3までの列をループ
print(f"({row}, {col})", end="\t") # 行と列の組み合わせを表示、タブ区切り
print() # 改行
print() # 改行
# 直角三角形の星印を表示します
print("直角三角形の星印を表示します")
for i in range(1, 6): # 1から5までの行をループ
for j in range(i): # 現在の行数分の星を表示
print("*", end="") # 星を表示
print() # 改行
コメント