目次
まずはif else文を一行で書く方法から
if else文を一行で書く構文は
真の場合の時 if
条件式 else
偽の場合の時
の形式で記述できます。
以下にサンプルコードと解説を示します。
age = 18
otona = "18歳以上です" if age >= 18 else "18歳未満です"
print(otona)
初見で見るとちょっと不思議な記法ですが公式どおりとなります。
条件式を真ん中に置いて、真の場合と偽の場合でサンドイッチする形です。
これは三項演算子で書くパターンとなります。
elseがない、if文のだけの時は?
ではelseがない場合はどうでしょうか。
実は三項演算子ではelseなしの記述方法は用意させていません。
真の場合の時 if
条件式 else 偽の場合の時
のように、elseが無いからと言って条件式以降を省略してしまうと、
三項演算子として成り立たなくなるのでエラーとなります!
基本に戻ると
さてelseが必要ない場合どうするのかというと、単純に普段書くif文を一行にするだけになります。
score = 80
if score >= 60: print("合格です")
つまり下記のコードの改行とインデントをなくしただけですね。
score = 80
if score >= 60:
print("合格です")
冒頭の三項演算子のパターンに慣れていると、ハマるちょっとしたお話でした。
解決したら何よりです!