条件式として使えるのは、<
や ==
などの比較演算子だけではありません。こんどは、比較演算子以外の条件を使って、if
文を書いてみましょう。
文字列の メソッド に、文字列がすべて数字かどうかを判定する isdecimal()
があります。
isdecimal()
は、文字列がすべて数字なら ブール型の値 True
を、数字以外の文字なら False
を返します。
In [21]:
print("123は数字ですか?", "123".isdecimal())
print("abcは数字ですか?", "abc".isdecimal())
"123"
という文字列はすべて数字ですので、"123".isdecimal()
という式は、True
となります。また、"abc"
という文字列は数字ではありませんので、"abc".isdecimal()
という式は、False
となります。
この isdecimal()
を条件式として、if
文を書いてみましょう。
- 文字列が数字なら「〇〇〇は数字です」と出力します。
- そうでなければ「〇〇〇は数字ではありません」と出力します。
判定する文字列は、input()
関数を使ってキーボードから入力できるようにします。
In [1]:
string = input("文字列を入力してください:")
if string.isdecimal():
print(string, "は数字です")
else:
print(string, "は数字ではありません")
このプログラムは、次の処理を行っています。
input()
関数で文字列を入力し、変数string
に代入します。string.isdecimal()
を条件式として、if
文を実行します。a. 入力した文字列がすべて数字なら、
string.isdecimal()
の結果はTrue
となり、print(string, "は数字です")
を実行します。
b. 入力した文字列が数字でなければ、
string.isdecimal()
の結果はFalse
となり、else
節のprint(string, "は数字ではありません")
を実行します。
いろいろな数字や文字を入力して、結果を試してみてください。