条件式として使えるのは、< や == などの比較演算子だけではありません。こんどは、比較演算子以外の条件を使って、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, "は数字ではありません")
を実行します。
いろいろな数字や文字を入力して、結果を試してみてください。