Python if else elif ステートメント

スポンサーリンク

本記事では、Pythonにおけるif文の書き方を解説していきます。

スポンサーリンク

Pythonのif文の書き方

Pythonでは、if文を使う事で条件ごとに処理を分けることができます

if 条件:と言う風にコードを書くことができ、条件が True と評価された場合、そのブロックのコードが実行されます。

説明はこれまでにして、実際に以下のコードを見てもらうと分かりやすいです。

x = 10
if x > 5:
    print("ok")
else:
    print("ng")

上記の例では、if x > 5:の部分に条件が当てはまるので、okと表示されます。

Pythonでif-elifを使って複数条件を扱う

Pythonでは、elifを使う事で、if文の条件を複数扱うことができます。

country = 'France'

if country == 'India':
    print('India')
elif country == 'France':
    print('France')
else:
    print("no")

上記の例では、Franceと出力されるはずです。

また、elifは複数回使う事もできます。

Even the else block is optional. Let’s look at another example where we have only if condition.

defprocess_string(s):
          if type(s)is not str:
          print('not string')
          return
          # code to process the input string

Pythonのif-elseを一行で表現します。

例えば、このような単純なif-else条件があるとします。

x = 10

if x > 0:
    is_positive = True
else:
    s_positive = False

Pythonの三項演算子を使えば、if-elseブロック全体を1行で表現できます。

例えば、上記のコードは以下のようになります

is_positive = True if x > 0 else False

ネストされたif-else文

複数のネストしたif-else文持つことができます。

1つ注意なのが、インデント(字下げ)に注意しないと、予期せぬ結果になる可能性があります

複数のif-else-elif条件を入れ子にして、数値処理スクリプトを作成する長い例を見てみましょう。

# accepting user input

x = input('Please enter an integer:')

# convert str to int
x = int(x)
print(f'You entered {x}')

if x > 0:
          print("It's a positive number")
          if x % 2 == 0:
            print("It's also an even number")
          if x > = 10:
            print("The number has multiple digits")
          else:
            print("It's an odd number")
elif x == 0:
          print("Lovely choice, 0 is the master of all digits.")
else:
          print("It's a negative number")
          if x % 3 == 0:
            print("This number is divided by 3")
          if x % 2 == 0:
            print("And it's an even number")
          else:
            print("And it's an odd number")

このコードを複数回繰り返したときの出力例です。

Please enter an integer:
10
You entered 10
It's a positive number
It's also an even number
The number has multiple digits
Please enter an integer:
0
You entered 0
Lovely choice, 0 is the master of all digits.
Please enter an integer:
- 10
You entered - 10
It's a negative number
And it's an even number
タイトルとURLをコピーしました