IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Pythonでネットワーク自動化をしよう

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第12回 Pythonの基本(7)制御構文を使ったプログラム (小澤昌樹) 2023年7月

1. はじめに

みなさん、こんにちは。前回はPythonの制御構文について学びましたね。今回は、それらの制御構文を使ってプログラムを作成してみましょう。

2. 条件分岐のプログラム

条件分岐は、ある条件に基づいて処理を分岐させるために使用します。条件式が真の場合に、そのすぐ下のブロックのコードが実行されます。

例えば、ある数値を入力として受け取り、その数値が偶数か奇数かを判定するプログラムは、次のように書くことができます。入力された値を受け取るには input 関数を使います。input 関数で受け取った値は文字列型なので、int型に変換する処理を入れています。偶数か奇数かを判定するには、%演算子で割った余りがゼロかどうかを見ます。


num = int(input("数値を入力してください: "))
if num % 2 == 0:
    print("入力された数値は偶数です。")
else:
    print("入力された数値は奇数です。")

必要に応じて elif 文や else 文を追加して、複数の条件を評価することもできます。条件式内で論理演算を行うために使用される演算子をブール演算子といい、主なブール演算子には、and、or、notがあります。これらの演算子を使えば、さらに複雑な条件を組み立てることができます。

次は、点数を入力として受け取り、合否や成績を表示するプログラムです。f文字列を使って文字列をフォーマットして出力している部分があります。is_passedはフラグと呼ばれる、プログラムの実行中に特定の状態や条件を示すために使用される変数や値のことです。フラグは通常、真偽値(TrueまたはFalse)を持ち、特定の条件が満たされたかどうかを示すために使用されます。


score = int(input("点数を入力してください: "))
is_passed = False
if score >= 60:               # (1)
    if score >= 90:           # (2)
        grade = "A"
    elif score >= 80:         # (3)
        grade = "B"
    else:                     # (4)
        grade = "C"
    if score >= 70:           # (5)
        is_passed = True
    if is_passed:             # (6)
        print("合格です!")
    else:                     # (7)
        print("不合格です。")
    print(f"成績は{grade}です。")
else:                         # (8)
    print("不合格です。")
if score < 50:                # (9)
    print("成績が低いです。")
elif score < 70:              # (10)
    print("成績は平均的です。")
else:                         # (11)
    print("成績が高いです。")

このプログラムは、入力された点数によって出力が変わります。プログラムをトレースしながら、どのブロックが動作するか確認しましょう。

●85の場合
(1) → (3) → (5) → (6) → (11)

合格です!
成績はBです。
成績が高いです。

●65の場合
(1) → (4) → (7) → (10)

不合格です。
成績はCです。
成績は平均的です。

●35の場合
(8) → (9)

不合格です。
成績が低いです。

3. 繰り返しのプログラム

繰り返しは、与えられた条件が満たされている限り、同じ処理を繰り返し実行するものです。Pythonでは、for 文またはwhile 文を使って繰り返しの処理を書くことができます。for文は、リストや範囲などのイテラブルなオブジェクトの要素を順番に処理するために使用し、指定された回数だけ繰り返し処理を行います。while文は、条件式が真の間、繰り返し処理を行うために使用します。また、range() 関数は、連続した数値のシーケンスを生成するために使用されます。主に繰り返し処理において、指定した範囲の数値を反復的に取得するために利用されます。

以下のプログラムは、for 文を使用して1から10までの数値を順番に取り出し、それぞれが偶数か奇数かを判定して結果を表示するものです。5になった時点でループを終了します。同様の処理を、for 文とwhile 文を使用して書いてみましょう。


# for文を使用
for num in range(1, 11):
    if num % 2 == 0:
        print(f"{num}は偶数です。")
    else:
        print(f"{num}は奇数です。")
    if num == 5:
        break
# while文を使用
num = 1
while num <= 10:
    if num % 2 == 0:
        print(f"{num}は偶数です。")
    else:
        print(f"{num}は奇数です。")
    if num == 5:
        break
    num += 1

range 関数は、開始と終了の値を引数に取ります。終了の値は出力には含まれないため、1から10までの数値を取得する場合には、range(1, 11)と指定します。for 文では、range 関数から連続的に取得された値が num に格納されますが、while 文では、num の値をカウントアップする必要があります。そのため、num += 1 のようなインクリメント処理を追加する必要があります。

また、ループを終了するには、break文を使います。break文は繰り返しを中断してループから抜け出すものです。一方、繰り返しを中断してループの先頭に戻りたい場合は、continue文を使います。

4. まとめ

今回はPythonの制御構文を使ってプログラムを作成しました。プログラムでは、条件分岐や繰り返しを使用することが多いため、多くのプログラムを書いて慣れるようにしましょう。

次回はPythonライブラリのインポートについて説明します。Pythonには豊富なライブラリがあり、それらを使うことで、より高度なプログラムを作成することができます。ライブラリのインポート方法を学び、実際にライブラリを使ってプログラムを作成してみましょう。お楽しみに!

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes