【Python入門】論理演算と反復|反復処理の基本を知る

論理演算と反復|反復処理の基本を知る_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

Python基礎として、「論理演算」や「反復」というものがあります。

Pythonを使用する上で、欠かせない必須項目の1つです。

本記事では、そんなPython基礎となる論理演算と反復について、具体例を挙げながら詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonの条件式と分岐までを理解できている人
levtech-ad

論理演算

論理演算とは、複数の比較演算子を組み合わせた記述のことです。

Pythonで使用できる3種類の論理演算子は、以下のとおりです。

  • and 演算子
  • or 演算子
  • not 演算子

順番にご説明します。

and 演算子

and 演算子は、指定された値が両方ともTrueの場合、Trueを返す演算子です。

一方で、いずれかがFalseであれば、Falseを返します。

andのように、入力がTrueのときのみ、結果がTrueになる論理演算を論理積と言います。

具体例を以下に載せます。

#input
A=70
B=45

if (40 <= A) and (40 <= B):
    print("合格")
else:
    print("不合格")
#output
合格

上例のように、AとBが両方とも40以上(True)の場合、「合格」(True)になります。

一方でBが40未満(False)の場合、以下のようにFalseとなります。

#input
A=70
B=35

if (40 <= A) and (40 <= B):
    print("合格")
else:
    print("不合格")
#output
不合格

or 演算子

or 演算子は、指定された値のどちらか一方、あるいは両方がTrueの場合、Trueを返す演算子です。

一方で、両方がFalseであれば、Falseを返します。

orのように、入力がTrueのときのみ、結果がTrueになる論理演算を論理和と言います。

以下に例を載せます。

#input
A=70
B=45

if (40 > A) or (40 > B):
    print("不合格")
else:
    print("合格")
#output
合格

AとBが両方とも40以上(False)の場合、「合格」(False)になります。

一方でBが40未満(True)の場合、以下のようにTrueとなります。

#input
A=70
B=35

if (40 > A) or (40 > B):
    print("不合格")
else:
    print("合格")
#output
不合格

not 演算子

not 演算子は、指定された値を反転し、値がTrueの場合、Falseを返し、Falseの場合、Trueを返す演算子です。

notのように、入力値を反転した値が返される論理演算を、否定とも言います。

具体例を以下に載せます。

#input
A=70

if not (40 > A):
    print("合格")
else:
    print("不合格")
#output
合格

Aが40以上(False)の場合、「合格」(True)になります。

一方でAが40未満(True)の場合、以下のようにFalseとなります。

#input
A=20

if not (40 > A):
    print("合格")
else:
    print("不合格")
#output
不合格

反復

反復(ループ)は、決まった条件が満たされている間は、同じことを繰り返す(ループする)という処理です。

Pythonで使用する文ごとに、以下ご説明します。

while文

Pythonでの反復処理の記述は、while文で行います。

while文は、決められた条件式が満たされている間(結果がTrueである間)は、処理を繰り返します。

以下に例を載せます。

#input
number = ""

while number != "100":
    number = input("input number:")
    print(number,"is not 100!")

print("Number is correct.")
input number:50
#output
50 is not 100!
input number:75
#output
75 is not 100!
input number:100
#output
Number is correct.

上のプログラムは、入力値が「100」でない間(結果がTrueである間)、ループする反復プログラムです。

「100」を入力する(結果がFalseになる)ことで、終了する処理になっています。

break文

上記ご説明したwhile文の終了条件は、結果がFalseになることでした。

つまり、Falseになるまで、永遠にループし続ける処理になっています。

そこで、ループの途中で抜け出すために使用するのがbreak文です。

たとえば、以下のプログラムについて、考えてみます。

#input
i = 1

while i <=3:
    text = input("input number:")
    number = int(text)
    print(i,"回目(あと",3-i,"回):",number*number)
    i = i + 1

print("終了")
input number:1
#output
1 回目(あと 2 回): 1
input number:2
#output
2 回目(あと 1 回): 4
input number:3
#output
3 回目(あと 0 回): 9
終了

変数iが3になるまで、入力値の2乗を出力するというプログラムです。

変数に1を加える「i = i + 1」を忘れると、無限ループしてしまいますので、注意しましょう。

上記プログラムについて、break文を使用してみます。

#input
i = 1

while i <=3:
    text = input("input number:")

    if text >= "30":
        print("中断")
        break

    number = int(text)
    print(i,"回目(あと",3-i,"回):",number*number)
    i = i + 1

print("終了")
input number:10
#output
1 回目(あと 2 回): 100
input number:20
#output
2 回目(あと 1 回): 400
input number:30
#output
中断
終了

入力した文字列が30以上であれば、break文を実行するプログラムです。

ループが中断したことにより、while文から脱出して、print(“終了”)も実行されます。

continue文

break文は、ループを途中で中断する処理でした。

ループを中断するのではなく、最初からやり直したい場合に使用するのが、continue文です。

以下の例について、ご説明します。

#input
i = 0

while i <= 25:
    i = i + 1

    if (i % 5) != 0:
        continue

    print(i, "is a multiple of 5.")
#output
5 is a multiple of 5.
10 is a multiple of 5.
15 is a multiple of 5.
20 is a multiple of 5.
25 is a multiple of 5.

i = 0から1ずつ増加していき、continue文によって、iが5の倍数でない場合にはループの先頭に戻るようなプログラムになっています。

結果として、5の倍数のみ出力されていることがわかるかと思います。

まとめ

この記事では、Python基礎となる論理演算と反復について、ご説明しました。

本記事の具体例を参考に、トライいただければ幸いです。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました