Python コーディング問題 第13回『 range関数・for文・for文のネスト 』

Pythonコーディング13

プログラミング上達のコツは学習初期段階でとにかく手を動かしてコーディングすることです。
本シリーズでは Python の初学者に向けたコーディング問題を出題します。
今回はrange関数、for文、for文のネスト を学習します。コーディング指示に従ってコーディングしてみましょう!

目次

学習の進め方-

  1. プログラム説明および目的を確認し、どのようなプログラムで何を学ぶかイメージしましょう。
  2. コーディング指示に従ってコーディングをします。
    もし分からなければ、コード例を確認しても良いです。
  3. 自分の出力結果と出力結果例を比較してみましょう。
  4. コード例を確認し、自分のコードと比較してみましょう。
    コード例は「あくまでも例」なので完全に一致する必要はありません。
  5. 最終的にはコーディング指示だけでコーディングできるよう、繰り返し練習しましょう。


Python コーディング問題 1:range関数

プログラム説明

プログラム説明:このプログラムでは、range関数を使って様々な範囲やステップの数値列を生成し、リストに変換して表示します。

目的

range関数の基本的な使い方とその応用方法を学びます。

コーディング指示

新しい Python ファイル range_examples.pyを作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名をrange_examples.pyとして保存します。

以下の手順に従ってプログラムを作成してください。

  1. 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を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を range_loops.pyとして保存します。

以下の手順に従ってプログラムを作成してください。

  1. range 関数を使用して数値列を生成し、ループ処理を行って以下の内容を表示してください:
    • 7回目のループまでを表示する(range関数を使用)
    • 5の段を表示する(range関数を使用)
    • 50から70までの奇数を表示する(range関数を使用)
    • 10から1までのカウントダウンを表示する(range関数を使用)
    • 15から45までの3の倍数を表示する(range関数を使用)
    • -10から-1までの数を表示する(range関数を使用)
    • 20から2までの偶数を降順で表示する(range関数を使用)
  2. 各数値列の表示には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を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を nested_loops.pyとして保存します。

以下の手順に従ってプログラムを作成してください。

  1. 以下の内容を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()  # 改行
(Visited 80 times, 24 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

職業訓練校 エヌ・キャリア・アカデミー 講師の竹内です。
主にWebアプリケーション開発講座を担当しています。
初学者の方へ向けて、これからIT業界を歩んでいくための “その人なりの基準やものさし” を持てるような講義を心掛けています。
SE Mediaでも初学者の方がWebアプリケーション制作に役立つ記事を発信していきます!

コメント

コメントする

目次