Python3 エンジニア認定基礎試験 – 解答

2022年10月10日

■Python3 エンジニア認定基礎試験 – 1

  1. Pythonの特徴に関する次の記述のうち、誤っているものはどれか。
    正答: Pythonでは、文のグルーピングはカッコで囲うことでなくインデントで行われるなど、プログラムを小さく読みやすく書けるという特徴がある。ただ変数や引数の宣言は必要である。 → c
  2. Pythonインタープリタに関する次の記述のうち、誤っているものはどれか。
    正答: セカンダリプロンプトの記号はデフォルトでは「<<<」である。 → c
  3. 【A】~【E】の行にある#から始まる文字列のうちPythonではコメントとして解釈されないものはどれか。
    正答: 【E】 → e
  4. 次のコードの実行結果として正しいものはどれか。
    正答: 0.08, 1 → b
  5. 次のコードの実行結果はどれか。なおコードの\はバックスラッシュに読み替えること。
    正答: She said,"Heyyy! How are you?" → e
  6. 次のコードの実行結果として正しいものはどれか。
    正答: Brave → a
  7. 次の変数Zenに関して指定した場合、実行時にエラーとなるものはどれか。
    正答: Zen[0] = 'J’ → d
  8. 次のコードの実行結果として正しいものはどれか。
    正答: 1,1,2,3,5,8, → a
  9. 次のコードの実行結果として正しいものはどれか。
    正答: green 5, blue 4, yellow 6, → d
  10. 次のような結果を得たい場合、コードの【A】の行に入る適切なものはどれか。なお【A】に入るものは、★aの行と同じ数の空白でインデントされている。
    正答: else: → c
  11. 次のコードの実行結果として正しいものはどれか。
    正答: -10, -15, -20, -25, → e
  12. 次の結果を得たい場合、コードの2行目以降を代替するものとして正しいものはどれか。なお各選択肢の次の行には「 print(i, v) 」が記述されるものとする。
    正答: for i ,v in enumerate(Zen): → b
  13. 次のコードの実行結果として正しいものはどれか。
    正答: 6 → b
  14. 次のコードに関し、【A】の行の出力として正しいものはどれか。
    正答: ([1, 4, 9], [1, 27, 64]) → d
  15. 次の関数を呼び出す際に、引数の指定として正しいものはどれか。
    正答: location(state=’Tokyo’, city=’chiyoda’) → a
  16. 次のコード1行目の【A】に入るものとして正しいものはどれか。
    正答: *arguments, **keywords → c
  17. 次の記述のうち、正しいものはどれか。
    正答: 国際的な環境で使用する予定のコードでは、PythonのデフォルトであるUTF-8か、さらにプレーンなASCIIが常に最良である。 → e
  18. 次の結果を得たい場合に、コードの1行目~3行目を代替し同じ結果を出力するものとして正しいものはどれか。
    正答: cubes = [x ** 3 for x in range(5)] → b
  19. 次の実行結果を得たい場合に、コードの【A】に入るものとして正しいものはどれか。
    正答: [[2, 3, 5], [4, 9, 25], [8, 27, 125]] → a
  20. 次の実行結果を得たい場合に、コードの【A】と【B】に入るものの組み合わせとして正しいものはどれか。
    正答: 【A】collections 【B】queue.popleft() → a
  21. 次のコードの実行結果として正しいものはどれか。
    正答: [50, 30, 20, 15, 5, 1] → d
  22. 次のコードの実行結果として正しいものはどれか。
    正答: xitBtTn → d
  23. データ構造に関する次の記述のうち誤っているものはどれか。
    正答: ディクショナリは変更不能(immutable)であるがキーの型は変更可能(mutable)であり、その値は一意でなければならない。 → b
  24. 次のうち対話モードで入力したときに「True」が返されるのはどれか。
    正答: 'PHP’ < 'Perl’ < 'Python’ → b
  25. モジュールに関する次の記述のうち、誤っているものはどれか。
    正答: あるモジュールがインポートされるときにインタープリタが検索する順序は、まずビルトインモジュール、次にsys.path変数で得られるディレクトリ、最後にシンボリックリンクを置いてあるディレクトリである。 → b
  26. モジュールが定義している名前を対話モードで確認したい。次のスクリプトの2行目【A】に入るものとして正しいものはどれか。
    正答: dir(sys) → e
  27. 次のコードの実行結果として正しいものはどれか。
    正答: 2.718, 3.14159 → d
  28. 次のコードを実行して「整数a:」に「5」、「整数b:」に「0」を入力した場合の正しい結果はどれか。なお選択肢中の「, 」は改行に読み替えること。
    正答: 25, D, G → c
  29. エラーと例外に関する次の記述のうち誤っているものはどれか。
    正答: パーサ(構文解釈器)は違反のある行を表示し、最後にエラーが検知された点を小さな矢印で示す。エラーは矢印より後のトークンが原因である。 → e
  30. 次のスクリプトを実行した場合には適切な方法であるクリーンアップがなされる。具体的にはどのような処理がなされているか。正答: f.close() → b
  31. 次の実行結果を得たい場合、コードの【A】【B】に入る組み合わせとして適切なものはどれか。
    正答: 【A】OurException 【B】Exception → a
  32. クラスに関する次の記述のうち、誤っているものはどれか。
    正答: クラスにinit()メソッドが定義してあると、新規生成されたインスタンスに対して自動的にinit()メソッドがコールされる。ただしinit()メソッドに引数を与えることはできない。 → d
  33. 次の実行結果を得たい場合、コードの【A】【B】の行に入る組み合わせとして適切なものはどれか。なお【A】は★aの行と、【B】は★bの行と同じ数の空白でインデントされている。
    正答: 【A】self.m() 【B】def d(self): → d
  34. コマンドライン上で「python3 script.py one two three four five」を実行したときに、以下の結果を得たい。コード2行目の【A】に入るものとして正しいものはどれか。
    正答: sys.argv[1:4] → c
  35. 次の正規表現を用いたコードの【A】の部分に入れたときエラーとなるものはどれか。
    正答: ret = prog.search('Kusaneiro’) → e
  36. statisticsモジュールを使って、データの平均、中央値、分散を求めたい。次のコードの【A】【B】【C】に入りうる組み合わせとして正しいものはどれか。
    正答: mean median variance → a
  37. 今日の日付を得たい場合、次のコード1行目の【A】に入る適切なものはどれか。
    正答: from datetime import date → b
  38. loggingモジュールのメッセージの優先度として正しいものはどれか。左から順に優先度が高いものとする。
    正答: CRITICAL、ERROR、WARNING、INFO、DEBUG → d
  39. 仮想環境とパッケージに関する次の記述のうち誤っているものはどれか。
    正答: pip uninstall にパッケージ名を指定すると、その仮想環境からパッケージを削除できる。削除対象となるパッケージの複数指定はできない。 → d
  40. 次の記述に関して誤っているものはどれか。
    正答: デフォルト設定ではユーザーディレクトリの「.pyhistory」ファイルにヒストリが保存される。ヒストリは対話型インタープリタセッションで利用できる。 → c

■Python3 エンジニア認定基礎試験 – 2

  1. Pythonの特徴に関する次の記述のうち、誤っているものはどれか。
    正答: Pythonは柔軟な配列や集合、ディクショナリといった、非常に高水準のデータ型を組み込みで持つ。データ型の一般性が高いためPythonの対応可能な問題領域はAwkより広いが、Perlと比べると同程度である。 → a
  2. Pythonインタープリタに関する次の記述のうち、誤っているものはどれか。
    正答: インタープリタがスクリプト名(スクリプトのファイル名)と続く引数群を知らされると、これらは文字列のリストとなる。import listitems を実行することで、このリストにアクセスできる。 → b
  3. 数値に関する次の記述のうち、正しいものはどれか。
    正答: 整数はintという型を持つ。小数点を伴う数はfloatという型を持つ。除算は常にfloatを返す。 → d
  4. 次のコードの実行結果として正しいものはどれか。
    正答: 3.0, 1 → a
  5. 文字列に関する次の記述のうち、正しいものはどれか。なお「\」はバックスラッシュに読み替えること。
    正答: 対話型インタープリタでは文字列は引用符に囲まれ、特殊文字はバックスラッシュでエスケープされた状態で出力される。print()関数では全体を囲む引用符が除去され、エスケープ文字や特殊文字がプリントされた状態で出力される。 → e
  6. 以下の結果を得たい場合、コードの【A】に入るものとして正しいものはどれか。
    正答: Zen[4], Zen[-5], Zen[1:3] → c
  7. 次の変数Zenに関して指定した場合、実行時にエラーとならないものはどれか。
    正答: Zen[1000:10000] → a
  8. 次のコードの実行結果として正しいものはどれか。
    正答: 0,1,1,2,3,5,8, → a
  9. 次のコードの実行結果として正しいものはどれか。
    正答: ['September’, 'January’, 'January’, 'March’, 'May’, 'July’, 'September’] → d
  10. 次の結果を得たい場合、コード【A】【B】に入る組み合わせとして適切なものはどれか。なお【A】は★aの行と、【B】は★bの行と同じ数の空白でインデントされている。
    正答: 【A】break 【B】 else: → e
  11. 次のコードの実行結果として正しいものはどれか。
    正答: -3, -6, -9, -12, -15, → c
  12. 次の結果を得たい場合、コードの2行目以降を代替するものとして正しいものはどれか。なお各選択肢の次の行には「 print(i, Zen[i]) 」が記述されるものとする。
    正答: for i in range(len(Zen)): → a
  13. 次のコードの実行結果として正しいものはどれか。
    正答: 5 → e
  14. 次のコードに関し、【A】の行の出力として正しいものはどれか。
    正答: ([4, 9, 16], [8, 27, 64]) → d
  15. 次の関数を呼び出す際に、引数の指定として正しいものはどれか。
    正答: location(state=’Jakarta’, city=’Cikini’) → c
  16. 次のコード1行目の【A】【B】に入る組み合わせとして正しいものはどれか。
    正答: 【A】argsY 【B】*argsX → b
  17. 次の記述のうち、誤っているものはどれか。
    正答: 例えば「def func(a: int, b:str) -> value」と関数を記述したときにアノテーションに該当するものは「-> value」のみである。 → b
  18. 次の結果を得たい場合に、コードの1行目~3行目を代替するものとして正しいものはどれか。
    正答: squares = [x ** 2 for x in range(0, 10, 3)] → c
  19. 次の実行結果を得たい場合に、コードの2行目(★印の行)を代替するものとして正しいものはどれか。
    正答: power = list(zip(*matrix)) → a
  20. 次の実行結果を得たい場合に、コード1行目~5行目を代替するものとして正しいものはどれか。
    正答: combs = [(a,b) for a in [1,2,3] for b in [3,2,5] if a != b] → b
  21. 次のコードの実行結果として正しいものはどれか。
    正答: [50, 30, 5, 20, 15, 1] → c
  22. 次のコードの実行結果として正しいものはどれか。
    正答: FtBtTns → d
  23. データ構造に関する次の記述のうち正しいものはどれか。
    正答: リストとタプルは順序を持つ要素の集まりであるという共通点がある。 → e
  24. 対話モードで入力したときに「True」が返されるものは次のうちどれか。
    正答: 1 > -1 == (1-2) → b
  25. モジュールに関する次の記述のうち、誤っているものはどれか。
    正答: sys.pathが初期化されている場所は、入力スクリプトのあるディレクトリ、PYTHONPATHであり、インストールごとのデフォルトは含まれない。 → c
  26. モジュールが定義している名前を対話モードで確認したい。次のコードの2行目【A】に入るものとして正しいものはどれか。
    正答: dir(sys) → e
  27. 次のコードの実行結果として正しいものはどれか。
    正答: 2.71828, 3.142 → c
  28. 次のコードを実行して「整数a:」に「3」、「整数b:」に「0」を入力した場合の正しい結果はどれか。なお選択肢中の「, 」は改行に読み替えること。
    正答: 27, C, G → e
  29. エラーと例外に関する次の記述のうち誤っているものはどれか。
    正答: [Ctrl]+[C]キーなどでユーザーがプログラムに割り込みをかけると、KeyError例外が送出される。 → c
  30. 次のコードを実行した場合には適切な方法で、あるクリーンアップがなされる。具体的にはどのような処理がなされているか。
    正答: f.close() → d
  31. 次の実行結果を得たい場合、コードの【A】【B】【C】に入る組み合わせとして適切なものはどれか。
    正答: 【A】strategic 【B】is a 【C】naughty boy 【D】AI → a
  32. 次のコードの実行結果として正しいものはどれか。なお各選択肢内は改行されているものとして読み替えること。
    正答: A: init B: nonlocal C: nonlocal D: global → b
  33. 次の実行結果を得たい場合、コードの【A】【B】の行および【C】に入る組み合わせとして適切なものはどれか。なお【A】は★aの行と、【B】は★bの行と同じ数の空白でインデントされている。
    正答: 【A】self.m() 【B】m(self): 【C】s() → b
  34. コマンドライン上で「python3 script.py one two three four five」を実行したときに、以下の結果を得たい。コード2行目の【A】に入るものとして正しいものはどれか。
    正答: sys.argv[0:3] → b
  35. 次の正規表現を用いたコードの【A】の部分に入れたときエラーとなるものはどれか。
    正答: ret = prog.search('kurofune’) → c
  36. 対話モードでrandomモジュールを用い以下のような各結果を得たい場合、各コード【A】~【C】に入る正しい組み合わせはどれか。
    正答: 【A】choice 【B】sample 【C】randrange → c
  37. 今日の日付を次の実行結果のように得たい場合、コードの1行目【A】と2行目の【B】に入る適切なものはどれか。
    正答: 【A】from datetime import date  【B】date.today() → c
  38. loggingモジュールのメッセージの優先度として正しいものはどれか。左から順に優先度が低いものとする。
    正答: DEBUG、INFO、WARNING、ERROR、CRITICAL → a
  39. 仮想環境とパッケージに関する次の記述のうち誤っているものはどれか。
    正答: 「pip list パッケージ名」で、ある特定のパッケージの詳細情報が表示される。 → c
  40. 次の記述に関して誤っているものはどれか。
    正答: 変数とモジュールの補完機能は、インタープリタの起動時には有効になっていないため設定が必要である。 → e

■Python3 エンジニア認定基礎試験 – 3

  1. Pythonの特徴に関する次の記述のうち、誤っているものはどれか。
    正答: Pythonの特徴の一つが可読性の高さである。複雑な操作も単一文で表記可能であり、文のグルーピングがインデントで行われるためコードの見通しが良いなど、プログラムを小さく読みやすく書けるようになっている。ただ変数の宣言は必要であり行わないとエラーとなる。 → a
  2. Pythonインタープリタに関する次の記述のうち、誤っているものはどれか。
    正答: インタープリタの起動方法として、「python -cmd コマンド [引数] …」という方法があり、例えば「python -cmd 'print(“hello")’」を実行すると、「hello」が出力される。 → b
  3. 数値に関する次の記述のうち、誤っているものはどれか。
    正答: 整数はint型、小数点を伴う数はfloat(浮動小数点数)型を持つ。演算対象の型が混合していた場合、浮動小数点数は整数に変換される。また除算は常にfloatを返す。 → e
  4. 次のコードの実行結果として正しいものはどれか。
    正答: 4 13.0 3.0 → e
  5. 文字列に関する次の記述のうち、誤っているものはどれか。なお「¥」はバックスラッシュに読み替えること。
    正答: 列挙された文字列リテラルは連結される。例えば対話モードで「>>> 'Py’ 'thon’」とした場合には、間にスペースを挟んだ形で自動的に連結され「’Py thon’」(yとtの間に半角スペース)となる。 → b
  6. 以下の結果を得たい場合、コードの【A】に入るものとして正しいものはどれか。
    正答: Zen[0:3], Zen[-3], Zen[-1:] → c
  7. 次の変数Zenに関して指定した場合、実行時にエラーとなるものはどれか。
    正答: Zen[10] = 'X’ → e
  8. 次のコードの実行結果として正しいものはどれか。
    正答: 10,4,0,-2, → c
  9. 次のコードの出力結果として正しいものはどれか。
    正答: ['plum’, 'kiwi’, 'apple’] → b
  10. 次のような結果を得たい場合、コードの【A】の行に入る適切なものはどれか。なお【A】に入るものは、★aの行と同じ数の空白でインデントされている。
    正答: continue → a
  11. 次のような結果を得たい場合、コードの【A】に入る適切なものはどれか。
    正答: 1, -10, -3 → c
  12. 次の結果を得たい場合、コードの2行目以降を代替するものとして正しいものはどれか。なお各選択肢の次の行には「 print(i, Zen[i]) 」が記述されるものとする。
    正答: for i in range(len(Zen)): → e
  13. 次のコードの実行結果として正しいものはどれか。
    正答: 2 → b
  14. 次のコードに関し、【A】の行の出力として正しいものはどれか。
    正答: ([16, 9, 4], [1, 8, 27]) → e
  15. 次の関数を呼び出す際に、引数の指定として正しいものはどれか。
    正答: location('San Francisco’, country=’USA’, state=’California’) → b
  16. 次の結果を得たい場合に、コード【A】に入るものとして適切なものはどれか。
    正答: lambda arg : arg[1] → d
  17. 次の記述のうち、誤っているものはどれか。
    正答: 関数注釈(アノテーション)は関数のannotations属性にリストとして格納され、注釈の内容によっては関数のほかの部分に影響を与えることもある。 → c
  18. 次のコードの実行結果として正しいものはどれか。
    正答: [1, 4, -1, 3, 5] → b
  19. コードAの1行目を代替するコードBがある。コードBの【A】~【C】のうち、【A】と【B】に入るものとして正しいものはどれか。正答: 【A】list 【B】map → e
  20. 次の実行結果を得たい場合に、コード1行目~5行目を代替するものとして正しいものはどれか。
    正答: combs = [(a,b) for a in [3, 2, 1] for b in [6,5] if a != b] → e
  21. 次のような結果を得たい場合に、コードの2行目(★印の行)を代替するものとして正しいものはどれか。
    正答: power = list(zip(*matrix)) → d
  22. 次のコードの実行結果として正しいものはどれか。
    正答: oBeav → c
  23. データ構造に関する次の記述のうち誤っているものはどれか。
    正答: ディクショナリにループをかけるときにenumerate()関数を使うと、キーとそれに対応した値を同時に得られる。 → e
  24. 対話モードで入力したときに「True」が返されるものは次のうちどれか。
    正答: (2,3,('aa’,’ab’)) < (2,3,('abc’,’a’),5) → d
  25. モジュールに関する次の記述のうち、正しいものはどれか。
    正答: 実行中のスクリプトのあるディレクトリは、検索パスの最初、標準ライブラリのパスよりも前方に置かれる。 → e
  26. あるディレクトリを、パッケージを含むものとして扱わせるために必要とされるファイルは次のうちどれか。
    正答: init.py → c
  27. 入出力に関する次の記述のうち、誤っているものはどれか。
    正答: open()はファイルオブジェクトを返す関数である。open関数は第1引数にファイル名を、第2引数にモードを与えて使う。モードはファイルを読み込み専用で開くなら「r+」、書き出し専用なら「w」、追加なら「r」、読み書き療養なら「a」を指定する。 → d
  28. 次のスクリプトを実行して「整数a:」に「3」、「整数b:」に「b」を入力した場合の正しい結果はどれか。なお選択肢中の「, 」は改行に読み替えること。
    正答: D, G → d
  29. エラーと例外に関する次の記述のうち誤っているものはどれか。
    正答: パーサ(構文解釈器)は違反のある行を表示し、最初にエラーが検知された点に下線が引かれる。エラーは矢印より前のトークンが原因である。 → d
  30. 次のコードを実行した場合には適切な方法で、あるクリーンアップがなされる。具体的にはどのような処理がなされているか。
    正答: f.close() → e
  31. 次の実行結果を得たい場合、コードの【A】【B】【C】【D】【E】に入る組み合わせとして適切なものはどれか。
    正答: 【A】Saya’s【B】goofy【C】is a【D】reliable【E】partner → d
  32. 次のスクリプトの実行結果として正しいものはどれか。なお各選択肢内は実際は改行されているものとして読み替えること。
    正答: 【D】 1 【A】 2 【B】 4 【C】 4 【E】 5 → d
  33. 次の実行結果を得たい場合、コードの【A】【B】の行および【C】に入る組み合わせとして適切なものはどれか。なお【A】は★aの行と同じ数の空白でインデントされている。
    正答: 【A】self.m() 【B】m(self): 【C】s() → d
  34. 次のファイル「script.py」を作成し、コマンドライン上で「python3 script.py one two three four five」を実行したときの結果として正しいものはどれか。
    正答: ['script.py’, 'one’, 'two’, 'three’] → a
  35. 次の正規表現を用いたコードの【A】の部分に入れたときエラーとなるものはどれか。
    正答: ret = prog.search('SuZunone’) → c
  36. モジュールに関する次の記述のうち誤っているものはどれか。
    正答: processingモジュールを使うと、コード処理の実行時間を計測できる。 → a
  37. 今日の日付を次の実行結果のように得たい場合、スクリプトの1行目【A】と2行目の【B】に入る適切なものはどれか。
    正答: 【A】from datetime import date  【B】date.today() → c
  38. loggingモジュールのメッセージの優先度として正しいものはどれか。左から順に優先度が高いものとする。
    正答: CRITICAL、ERROR、WARNING、INFO、DEBUG → d
  39. 仮想環境とパッケージに関する次の記述のうち正しいものはどれか。
    正答: 仮想環境を作成、管理するのに使われるスクリプトはpyvenvである。 → e
  40. 次の記述に関して正しいものはどれか。
    正答: 変数とモジュールの補完機能は、インタープリタの起動時に自動で有効になっている。 → e