問題

三項演算子を使って、aとbのどちらか大きいかを出力するプログラムを作りたい。

以下のプログラムの[問題コード]に当てはまるものとして、適切なものはどれか。

プログラム:

a = 30
b = 25
str1 = 'aはbより大きい'
str2 = 'aはbより大きくない'

c = [問題コード]

print(c)

選択肢

(a) (a > b) ? str1 : str2

(b) str1 if a > b else str2

(c) (a > b) ? str1 : str2;

(d) if (a > b) str1 else str2

  • a
  • b
  • c
  • d

Python 三項演算子

答え

(b)

解説

正解のプログラムは以下のようになります。

a = 30
b = 25
str1 = 'aはbより大きい'
str2 = 'aはbより大きくない'

c = str1 if a > b else str2

print(c)

実行後の出力:

aはbより大きい

Python3においては、三項演算子は次のような構文で記述することができます。

三項演算子の構文:

値1 if 条件式 else 値2

三項演算子は、条件式が真(True)のとき値1になり、偽(False)のとき値2になります。このような条件分岐を行うにはif文を使ってもできますが、三項演算子を使うことで、より簡潔にプログラムを記述することができます。

if文を使うケース:

if a > b:
    c = str1
else:
    c = str2

三項演算子を使うケース:

c = str1 if a > b else str2

 

テスト一覧

スキルテストが提供しているテストの一覧です。ぜひ学習や実力チェックに役立ててください。