Python入門講座条件式と分岐

elif 節

比較演算子文字列の比較if 文 による条件分岐else 節比較以外の条件式elif 節

比較以外の条件式 では、

  1. 文字列が数字なら「〇〇〇は数字です」と出力します。
  2. そうでなければ「〇〇〇は数字ではありません」と出力します。

という処理を作成しました。

ここでは、もう少し機能を追加して、文字列がアルファベットかどうかも判定してみましょう。

  1. 文字列が数字なら「〇〇〇は数字です」と出力します。
  2. 数字でなければ、アルファベットかどうかを判定し、アルファベットなら「○○○はアルファベットです」と出力します。
  3. そうでなければ「〇〇〇は数字でもアルファベットでもありません」と出力します。

アルファベットかどうかの判定は、文字列の isalpha() メソッドで判定します。isalpha() メソッドは、文字列がアルファベットであれば True を、そうでなければ False を返します。

In [32]:
print("123はアルファベットですか?", "123".isalpha())
print("abcはアルファベットですか?", "abc".isalpha())
123はアルファベットですか? False
abcはアルファベットですか? True

"123"という文字列はアルファベットではありませんので、"123".isalpha() という式は、False となります。また、"abc"という文字列はアルファベットですので、"abc".isalpha() という式は、True となります。

if 文には、最初の条件が満たされなかった時、elif 節に次に検査する条件を指定できます。elif 節は、次のように記述します。

if 条件式1:
    処理1
    ...
elif 条件式2:
    処理2
    ...
elif 条件式3:
    処理3
    ...
else:
    処理n
    ...

このプログラムを実行すると、まず 条件式1 を判定し、条件が満たされなければ最初の elif 節の 条件式2 を判定します。条件式2 が満たされていれば、処理2を実行します。条件式2が満たされなければ、以降の elif 節にある 条件式3条件式4、... を次々に判定します。すべての条件が満たされなければ、else節の処理を実行します。

elif 節も、最後に : が必要ですので、忘れないようにしてください。

In [3]:
string = input("文字列を入力してください:")
if string.isdecimal():
    print(string, "は数字です")
elif string.isalpha():
    print(string, "はアルファベットです")
else:
    print(string, "は数字でもアルファベットでもありません")
abcdeg はアルファベットです

いろいろな数字や文字を入力して、結果を試してみてください。isapha() メソッドは、英字のアルファベット(a, bなど)だけでなく、日本語のひらがなやカタカナもアルファベットとして判定します。



【Copyright © 2001-2020 python.jp】 【Privacy Policy】 python_japan