ゼロからのPython入門講座条件式と分岐

比較以外の条件式

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

条件式として使えるのは、<== などの比較演算子だけではありません。こんどは、比較演算子以外の条件を使って、if 文を書いてみましょう。

文字列の メソッド に、文字列がすべて数字かどうかを判定する isdecimal() があります。

isdecimal() は、文字列がすべて数字なら ブール型の値 True を、数字以外の文字なら False を返します。

In [21]:
print("123は数字ですか?", "123".isdecimal())
print("abcは数字ですか?", "abc".isdecimal())
123は数字ですか? True
abcは数字ですか? False

"123"という文字列はすべて数字ですので、"123".isdecimal() という式は、True となります。また、"abc"という文字列は数字ではありませんので、"abc".isdecimal() という式は、False となります。

この isdecimal() を条件式として、if 文を書いてみましょう。

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

判定する文字列は、input() 関数で取得します。

In [1]:
string = input("文字列を入力してください:")
if string.isdecimal():
    print(string, "は数字です")
else:
    print(string, "は数字ではありません")
文字列を入力してください: 123
123 は数字です

このプログラムは、次の処理を行っています。

  1. input() 関数で文字列を入力し、変数 string に代入します。
  2. string.isdecimal() を条件式として、if 文を実行します。

    a. 入力した文字列がすべて数字なら、string.isdecimal() の結果は True となり、

    print(string, "は数字です")
    

    を実行します。

    b. 入力した文字列が数字でなければ、string.isdecimal() の結果は False となり、else 節の

    print(string, "は数字ではありません")
    

    を実行します。

いろいろな数字や文字を入力して、結果を試してみてください。



Python.jp Discordサーバ

Discord によるチャットサービスです。情報交換・質問・雑談などにご利用ください。

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