if・elif・else
次のコードを実行したときの出力として、正しいものを1つ選べ。
x = 42
if x < 0:
print("負")
elif x % 2 == 0 and x > 40:
print("A")
elif x > 10:
print("B")
else:
print("C")
- A
負 - B
A - C
AとBの両方 - D
C
正解と解説を見る
正解:B
if・elif・else では、上から調べて最初に真になったブロックだけが実行される。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `x = 42` | x = 42 |
| 2 | `if x < 0:` | x = 42 |
| 3 | `elif x % 2 == 0 and x > 40:` | x = 42 |
| 4 | `print("A")` | — |
| 分岐 | `elif x % 2 == 0 and x > 40:` | 実行される |
| 分岐 | `elif x > 10:` | 実行されない |
| 分岐 | `else:` | 実行されない |
| 結果 | 実際の出力 | A |
- A
誤り。x は0より大きい。
- B
正しい。上から順に条件を調べ、最初に真になった
elif x % 2 == 0 and x > 40のブロックだけが実行される。 - C
誤り。if 文では、最初に真になった1つのブロックだけが実行される。
- D
誤り。else は、どの条件も偽のときだけ実行される。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。