Python3エンジニア認定基礎試験 ③ 判定と繰り返し

if・elif・elseによる条件分岐と、for・whileによる繰り返し処理を学ぶ、プログラムの制御構造の中核となる分野です。and・or・notの論理演算子と短絡評価の挙動、整数やNoneの真偽判定、is演算子によるNone判定が頻出です。range()関数の引数(start・stop・step)の使い方、breakとcontinueの違い、enumerate()やsorted()、reversed()といった反復処理を助ける組み込み関数も問われます。出題数が最も多い分野なので、条件式と演算子の評価順を確実に理解しておきましょう。出題数47問。

この分野の問題47問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。

クイズモードで挑戦 →

64Pythonにおいて、「2の倍数、かつ、3の倍数」である6の倍数を判定するための正しい論理演算子はどれですか。

  1. Aor
  2. Bnot
  3. Cin
  4. Dand
正解と解説を見る

正解:Dand

6の倍数は2の倍数かつ3の倍数であるため、両方の条件が成立しているかを調べるand演算子を使用します。

この問題の解説ページを開く →

65Pythonにおいて、「2の倍数、または、3の倍数」を判定するための正しい論理演算子はどれですか。

  1. Aand
  2. Bnot
  3. Cany
  4. Dor
正解と解説を見る

正解:Dor

いずれかの条件が成立しているかを調べるにはor演算子を使用します。

この問題の解説ページを開く →

66if文やelif文の条件のいずれにも該当しないすべてのケースを処理するために、最後に記述するキーワードはどれですか。

  1. Anot
  2. Bpass
  3. Celse
  4. Dbreak
正解と解説を見る

正解:Celse

これまでの条件以外のすべてに該当する場合はelseを使用します。

この問題の解説ページを開く →

67コード「for i in range(1, 7):」を実行したとき、変数iに順に代入される整数の範囲として正しいものはどれですか。

  1. A1から7までの整数
  2. B0から6までの整数
  3. C0から7までの整数
  4. D1から6までの整数
正解と解説を見る

正解:D1から6までの整数

range(start, stop)はstartから始まりstopの直前までの整数を返すため、1から6までとなります。

この問題の解説ページを開く →

68Pythonの算術演算において、「i % 2 == 0」という条件式は何を判定するために使われますか。

  1. Aiが2より大きいこと
  2. Biが奇数であること
  3. Ciが2の倍数であること
  4. Diが0であること
正解と解説を見る

正解:Ciが2の倍数であること

2で割った余りが0であることを意味するため、2の倍数(偶数)を判定します。

この問題の解説ページを開く →

69Pythonの算術演算において、「i % 3 == 0」という条件式は何を判定するために使われますか。

  1. Aiが3より小さいこと
  2. Biが3の倍数であること
  3. Ciが奇数であること
  4. Diが3であること
正解と解説を見る

正解:Biが3の倍数であること

3で割った余りが0であることを意味するため、3の倍数を判定します。

この問題の解説ページを開く →

70短絡演算子「A and B」において、Aを評価した結果が「偽」であった場合の挙動として正しいものはどれですか。

  1. ABを評価した上でAの評価結果を返す
  2. BBを評価せずにBの評価結果を返す
  3. CBを評価した上でBの評価結果を返す
  4. DBを評価せずにAの評価結果を返す
正解と解説を見る

正解:DBを評価せずにAの評価結果を返す

and演算子は左側の評価結果が偽であれば、右側を評価せずにその偽の値をそのまま返します。

この問題の解説ページを開く →

71短絡演算子「A and B」において、Aを評価した結果が「真」であった場合の挙動として正しいものはどれですか。

  1. ABを評価しその評価結果を返す
  2. BBを評価せずにAの評価結果を返す
  3. CBを評価せずにBの評価結果を返す
  4. Dエラーを返す
正解と解説を見る

正解:ABを評価しその評価結果を返す

and演算子は左側の評価結果が真であれば、右側のBを評価してその結果を返します。

この問題の解説ページを開く →

72短絡演算子「A or B」において、Aを評価した結果が「真」であった場合の挙動として正しいものはどれですか。

  1. ABを評価した上でAの評価結果を返す
  2. BBを評価せずにAの評価結果を返す
  3. CBを評価せずにBの評価結果を返す
  4. DBを評価した上でBの評価結果を返す
正解と解説を見る

正解:BBを評価せずにAの評価結果を返す

or演算子は左側の評価結果が真であれば、右側を評価せずにその真の値をそのまま返します。

この問題の解説ページを開く →

73短絡演算子「A or B」において、Aを評価した結果が「偽」であった場合の挙動として正しいものはどれですか。

  1. ABを評価せずにAの評価結果を返す
  2. BBを評価せずにBの評価結果を返す
  3. CBを評価しその評価結果を返す
  4. Dエラーを返す
正解と解説を見る

正解:CBを評価しその評価結果を返す

or演算子は左側の評価結果が偽であれば、右側のBを評価してその結果を返します。

この問題の解説ページを開く →

74and演算子が複数連続して結ばれている式(A and B and C ...)の評価に関する記述として正しいものはどれですか。

  1. A左から評価していき「最初に真」になった評価結果が最終結果となる
  2. Bすべての要素を評価した後に真偽を判定する
  3. C右から評価していき「最初に偽」になった評価結果が最終結果となる
  4. D左から評価していき「最初に偽」になった評価結果が最終結果となる
正解と解説を見る

正解:D左から評価していき「最初に偽」になった評価結果が最終結果となる

andがずっと続く場合は、左から評価して最初に偽になった時点で評価をやめ、その結果が最終結果となります。

この問題の解説ページを開く →

75or演算子が複数連続して結ばれている式(A or B or C ...)の評価に関する記述として正しいものはどれですか。

  1. A左から評価していき「最初に偽」になった評価結果が最終結果となる
  2. Bすべての要素を評価した後に真偽を判定する
  3. C右から評価していき「最初に真」になった評価結果が最終結果となる
  4. D左から評価していき「最初に真」になった評価結果が最終結果となる
正解と解説を見る

正解:D左から評価していき「最初に真」になった評価結果が最終結果となる

orがずっと続く場合は、左から評価して最初に真になった時点で評価をやめ、その結果が最終結果となります。

この問題の解説ページを開く →

76次のコードを実行したとき、変数value1に代入される値はどれですか。\ndef num(value):\n return value\nvalue1 = num(0) and num(1) and num(2)

  1. A1
  2. B0
  3. C2
  4. DFalse
正解と解説を見る

正解:B0

num(0)は0(偽)を返すため、and演算の短絡評価によりそこで評価が止まり、0が最終結果となります。

この問題の解説ページを開く →

77次のコードを実行したとき、変数value2に代入される値はどれですか。\ndef num(value):\n return value\nvalue2 = num(0) or num(1) or num(2)

  1. A1
  2. B0
  3. C2
  4. DFalse
正解と解説を見る

正解:A1

num(0)は0(偽)なので次にnum(1)を評価して1(真)となり、orの短絡評価によりそこで評価が止まり1を返します。

この問題の解説ページを開く →

78Pythonにおいて、整数値を真偽判定(ブール値としての評価)にかけたときのルールとして正しいものはどれですか。

  1. A0が真でそれ以外が偽
  2. B0が偽でそれ以外が真
  3. Cすべての整数が真
  4. Dすべての整数が偽
正解と解説を見る

正解:B0が偽でそれ以外が真

Pythonにおける整数の真偽判定は、0が偽となり、0以外の整数はすべて真として扱われます。

この問題の解説ページを開く →

79Pythonにおいて、値が何も存在しない状態を表す特別な値はどれですか。

  1. ANone
  2. BFalse
  3. C0
  4. DNull
正解と解説を見る

正解:ANone

Pythonでは、何も存在しない状態を表すオブジェクトとしてNoneが用意されています。

この問題の解説ページを開く →

80変数valueがNoneかどうかを判定するコードとして、最も適切なものはどれですか。

  1. Aif value == None:
  2. Bif value is None:
  3. Cif not value:
  4. Dif value:
正解と解説を見る

正解:Bif value is None:

Noneの判定には、実行速度や動作変更の可能性の観点から、is演算子を使用するのが最も適切です。

この問題の解説ページを開く →

81変数valueがNoneのとき、「if value:」という条件分岐の挙動はどうなりますか。

  1. A条件式が「偽」と判定される
  2. B条件式が「真」と判定される
  3. CSyntaxErrorになる
  4. DTypeErrorになる
正解と解説を見る

正解:A条件式が「偽」と判定される

valueがNoneのとき「if value:」は偽として判定されるため、Noneであることを個別に識別できません。

この問題の解説ページを開く →

82変数valueの値が「0」のとき、「if not value:」という条件分岐の挙動はどうなりますか。

  1. A条件式が「偽」と判定される
  2. B条件式が「真」と判定される
  3. CSyntaxErrorになる
  4. D判定が不定になる
正解と解説を見る

正解:B条件式が「真」と判定される

0は偽として判定されるため、not 0は真となり、valueがNoneでなくても真のブロックが実行されてしまいます。

この問題の解説ページを開く →

83Pythonでリストの要素を順番に処理するfor文の正しい書き始めはどれですか。

  1. Afor (int i: data)
  2. Bfor (let i in data)
  3. Cfor i in data do
  4. Dfor i in data:
正解と解説を見る

正解:Dfor i in data:

Pythonにおけるfor文の基本的な書式は「for 変数 in リスト:」となります。

この問題の解説ページを開く →

84テキスト内でJava言語で使用される書き方として紹介されているループ記述はどれですか。

  1. Afor i in data:
  2. Bfor (let i in data)
  3. Cfor (int i: data)
  4. Dfor i in data do
正解と解説を見る

正解:Cfor (int i: data)

「for (int i: data)」はJava言語で使われる拡張for文の書き方です。

この問題の解説ページを開く →

85テキスト内でJavaScriptで使用される書き方として紹介されているループ記述はどれですか。

  1. Afor (int i: data)
  2. Bfor i in data:
  3. Cfor (let i in data)
  4. Dfor i in data do
正解と解説を見る

正解:Cfor (let i in data)

「for (let i in data)」はJavaScriptで使われるループの書き方です。

この問題の解説ページを開く →

86テキスト内でRubyで使用される書き方として紹介されているループ記述はどれですか。

  1. Afor (int i: data)
  2. Bfor i in data do
  3. Cfor (let i in data)
  4. Dfor i in data:
正解と解説を見る

正解:Bfor i in data do

「for i in data do」はRubyで使われるループの書き方です。

この問題の解説ページを開く →

87Pythonの「for 変数 in オブジェクト:」の記述において、オブジェクトの部分にリスト以外で指定可能と明記されているものの組み合わせはどれですか。

  1. A辞書やセット
  2. B数値やNone
  3. C関数やクラス
  4. Dタプルや文字列
正解と解説を見る

正解:Dタプルや文字列

for文のinの後ろの反復可能体には、リストのほかにタプルや文字列なども指定可能です。

この問題の解説ページを開く →

88Pythonのrange()関数が返すオブジェクトの説明として最も適切なものはどれですか。

  1. A整数を繰り返すオブジェクト
  2. B浮動小数点数を繰り返すオブジェクト
  3. Cリストそのもの
  4. D文字列のリスト
正解と解説を見る

正解:A整数を繰り返すオブジェクト

range()関数は、整数を繰り返す数列オブジェクトを返す関数です。

この問題の解説ページを開く →

89「range(4)」が生成する数列と同じ内容を表しているリストはどれですか。

  1. A[0, 1, 2, 3]
  2. B[0, 1, 2, 3, 4]
  3. C[1, 2, 3, 4]
  4. D[1, 2, 3]
正解と解説を見る

正解:A[0, 1, 2, 3]

引数を1つだけ指定したrange(stop)は、0から始まりstopの直前までの連続した整数を生成します。

この問題の解説ページを開く →

90「range(0, 4)」が生成する数列と同じ内容を表しているリストはどれですか。

  1. A[0, 1, 2, 3, 4]
  2. B[0, 1, 2, 3]
  3. C[1, 2, 3, 4]
  4. D[1, 2, 3]
正解と解説を見る

正解:B[0, 1, 2, 3]

range(0, 4)は、開始値0から終了値4の直前(3)までの整数を生成するため、[0, 1, 2, 3]となります。

この問題の解説ページを開く →

91「range(1, 4)」が生成する数列と同じ内容を表しているリストはどれですか。

  1. A[1, 2, 3]
  2. B[1, 2, 3, 4]
  3. C[0, 1, 2, 3]
  4. D[1, 4]
正解と解説を見る

正解:A[1, 2, 3]

range(1, 4)は、開始値1から終了値4の直前(3)までの整数を生成するため、[1, 2, 3]となります。

この問題の解説ページを開く →

92「range(1, 8, 2)」が生成する数列と同じ内容を表しているリストはどれですか。

  1. A[1, 3, 5, 7]
  2. B[1, 3, 5, 7, 8]
  3. C[1, 2, 3, 4, 5, 6, 7]
  4. D[2, 4, 6, 8]
正解と解説を見る

正解:A[1, 3, 5, 7]

開始値1から始まり、終了値8の直前まで、ステップ数2ごとに整数を取得するため[1, 3, 5, 7]となります。

この問題の解説ページを開く →

93「range(start, stop, step)」において、startを省略した場合のデフォルトの開始値はいくつですか。

  1. A1
  2. B-1
  3. C0
  4. D省略できない
正解と解説を見る

正解:C0

range()関数でstartを省略(引数を1つだけ指定)した場合、数列は0から始まります。

この問題の解説ページを開く →

94「range(start, stop, step)」において、stepを省略した場合のデフォルトの増分はいくつですか。

  1. A0
  2. B2
  3. C省略できない
  4. D1
正解と解説を見る

正解:D1

range()関数でstepを省略した場合、デフォルトの増分(間隔)は1となります。

この問題の解説ページを開く →

95進行中のforループやwhileループを、直ちに終了してループの外へ抜けるために使用するキーワードはどれですか。

  1. Abreak
  2. Bcontinue
  3. Celse
  4. Dreturn
正解と解説を見る

正解:Abreak

ループをその時点で直ちに終了させるにはbreak文を使用します。

この問題の解説ページを開く →

96ループ処理において、現在の回の処理を中断し、次の繰り返し(ループ)へ進めるために使用するキーワードはどれですか。

  1. Abreak
  2. Belse
  3. Ccontinue
  4. Dpass
正解と解説を見る

正解:Ccontinue

continue文は、現在のループの残りの処理をスキップして次のループの評価に進みます。

この問題の解説ページを開く →

97関数定義(def文)の外部などの、使用できない場所でキーワード「return」を記述した場合に発生するエラーはどれですか。

  1. ATypeError
  2. BValueError
  3. CSyntaxError
  4. DNameError
正解と解説を見る

正解:CSyntaxError

returnは関数内でしか使えないため、不適切な場所での記述は構文エラー(SyntaxError)になります。

この問題の解説ページを開く →

98Pythonにおいて、インデントの位置がおかしいなど、プログラムの構文に問題がある場合に発生するエラーはどれですか。

  1. ARuntimeError
  2. BTypeError
  3. CSyntaxError
  4. DValueError
正解と解説を見る

正解:CSyntaxError

構文やインデントの位置に問題がある場合、コンパイル・解釈時にSyntaxErrorが発生します。

この問題の解説ページを開く →

99ディクショナリ(辞書型)から「キーとそれに対応する値のペア」を同時に取得するために使用するメソッドはどれですか。

  1. Akeys()
  2. Bvalues()
  3. Citems()
  4. Dkey_value()
正解と解説を見る

正解:Citems()

ディクショナリのキーと値のペアを同時に取得するにはitems()メソッドを呼び出します。

この問題の解説ページを開く →

100ディクショナリ(辞書型)から「キーのみ」をすべて取得するために使用するメソッドはどれですか。

  1. Aitems()
  2. Bvalues()
  3. Ckeys()
  4. Dget_keys()
正解と解説を見る

正解:Ckeys()

ディクショナリからキーだけを抽出して取得するにはkeys()メソッドを使用します。

この問題の解説ページを開く →

101ディクショナリ(辞書型)から「値のみ」をすべて取得するために使用するメソッドはどれですか。

  1. Aitems()
  2. Bkeys()
  3. Cget_values()
  4. Dvalues()
正解と解説を見る

正解:Dvalues()

ディクショナリから対応する値だけを抽出して取得するにはvalues()メソッドを使用します。

この問題の解説ページを開く →

102for文と組み合わせることで、リストや文字列などの反復可能体から「インデックスと要素」を同時に取得できる関数はどれですか。

  1. Aenumerate()
  2. Bzip()
  3. Csorted()
  4. Dreversed()
正解と解説を見る

正解:Aenumerate()

enumerate()関数を使用すると、通し番号(インデックス)と要素のペアを同時に取得できます。

この問題の解説ページを開く →

103テキストにおいて、for文による繰り返しが可能な型(リスト、タプル、ディクショナリ、文字列など)を総称して何と呼んでいますか。

  1. A連続オブジェクト
  2. B反復可能体
  3. Cコレクション
  4. Dシーケンス
正解と解説を見る

正解:B反復可能体

for文で繰り返し処理ができるデータ型のオブジェクトを「反復可能体(iterable)」と呼びます。

この問題の解説ページを開く →

104次のコードを実行したとき、出力される文字として正しいものはどれですか。\nfor i, c in enumerate("WORD"):\n if i == 2:\n print(c)

  1. AO
  2. BR
  3. CW
  4. DD
正解と解説を見る

正解:BR

インデックスiは0から始まるため、i == 2に対応するのは3番目の文字である「R」になります。

この問題の解説ページを開く →

105反復可能体の要素をアルファベット順などの「昇順にソートしたリスト」として新しく取得する関数はどれですか。

  1. Areversed()
  2. Bitems()
  3. Csorted()
  4. Dzip()
正解と解説を見る

正解:Csorted()

sorted()関数は、引数に渡された反復可能体を昇順に並べ替えた新しいリストを返します。

この問題の解説ページを開く →

106コード「print(sorted("BAT"))」を実行したときの出力結果として正しいものはどれですか。

  1. A['A', 'B', 'T']
  2. B['B', 'A', 'T']
  3. C['T', 'B', 'A']
  4. D['A', 'T', 'B']
正解と解説を見る

正解:A['A', 'B', 'T']

文字列"BAT"をsorted()に渡すと、アルファベット昇順にソートされた文字のリスト['A', 'B', 'T']が返されます。

この問題の解説ページを開く →

107リストや文字列などのシーケンスから、要素を「逆順にしたオブジェクト」を取得するために使用する関数はどれですか。

  1. Asorted()
  2. Breversed()
  3. Czip()
  4. Denumerate()
正解と解説を見る

正解:Breversed()

reversed()関数は、与えられたシーケンスの要素を逆順に並べ替えた反復オブジェクトを返します。

この問題の解説ページを開く →

108次のコードを実行したときの出力結果として正しいものはどれですか。\nprint(list(reversed(sorted("EAT"))))

  1. A['A', 'E', 'T']
  2. B['T', 'E', 'A']
  3. C['T', 'A', 'E']
  4. D['E', 'A', 'T']
正解と解説を見る

正解:B['T', 'E', 'A']

sorted(""EAT"")により['A', 'E', 'T']となり、それをreversed()で逆順にしたものをリスト化するため['T', 'E', 'A']になります。

この問題の解説ページを開く →

109複数の反復可能体から、対応する要素を並列で同時に取得するためにfor文などと組み合わせて使用する関数はどれですか。

  1. Aenumerate()
  2. Bsorted()
  3. Creversed()
  4. Dzip()
正解と解説を見る

正解:Dzip()

zip()関数を使うと、複数のリストや反復可能体から要素を同時にペアとして取得できます。

この問題の解説ページを開く →

110Pythonにおいて、文字列「"2"」に整数「2」を掛け算( "2" * 2 )したときの出力結果として正しいものはどれですか。

  1. A22
  2. B4
  3. C16
  4. Dエラーが発生する
正解と解説を見る

正解:A22

文字列に対して数値を乗算すると、その文字列が指定された回数だけ繰り返された文字列(""22"")が生成されます。

この問題の解説ページを開く →
Python3エンジニア認定基礎試験の全分野一覧へ戻る