Python 3エンジニア認定基礎試験~模擬試験~ 2024年11月20日 ailearn 1. 次のコードを実行した場合、出力は何ですか? from collections import dequedq = deque([1, 2, 3])dq.clear()print(dq) deque([]) [] None エラー None 2. 次のコードの実行結果を選んでください。 # ファイル名: sample.txt# 初期内容:# ---# Line1# ---with open('sample.txt', 'a') as f:f.write("Line2\n") ファイルの内容が"Line2\n"になる エラーが発生する ファイルの内容が"Line1\nLine2\n"になる ファイルは変更されない None 3. 次のコードの出力は何ですか? data = [["x", "y"], ["z", ["a", "b", "c"]], ["d", "e"]]print(data[1][1][2]) "b" "d" "a" "c" None 4. 次のコードを実行した場合の出力として正しいものを選んでください。 import mathradians = math.pi / 3x = math.sin(radians) + math.cos(radians) ** 2print(round(x, 2)) 1.5 1.25 1.0 1.12 None 5. 次のコードの実行結果を選んでください。 # ファイル名: sample.txtwith open('sample.txt', 'w') as f:f.write("First Line\n")f.flush()f.write("Second Line\n") First Line Second Line First Line ファイルは空 エラーが発生する None 6. 次のコードを実行した場合の出力として正しいものを選んでください。 from datetime import datetimedate = datetime(2024, 2, 29)days_to_add = 365new_date = date.replace(year=date.year + 1) + timedelta(days=days_to_add - 1)print(new_date.strftime("%Y-%m-%d")) 2025-02-28 2025-03-01 2025-02-29 エラーが発生する None 7. 次のコードについて、selfの役割として正しいものを選んでください。 class MyClass:def my_method(self):print("Hello") クラスの名前を表す特別な引数 インスタンス自身を表す特別な引数 他のクラスを参照するための引数 初期化専用のキーワード None 8. 仮想環境を作成する際に別のPythonバージョンを指定する方法として正しいものを選んでください。 python -m venv --version 3.9 env pip install venv --python=3.9 activate --python=3.9 python3.9 -m venv env None 9. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py# subpackage/__init__.pyimport package.subpackage.module as mod# main.pyfrom package.subpackage import modprint(hasattr(mod, 'hello')) None エラーが発生する False True(helloが存在すれば) None 10. 次のうち、Pythonのstatisticsモジュールで最頻値(モード)を計算するための関数として正しいものを選んでください。 statistics.mean() statistics.median() statistics.mode() statistics.frequency() None 11. 次のコードを実行したときの出力結果は何でしょうか? value = 0result = "非ゼロ" if value else "ゼロ"print(result) 非ゼロ ゼロ エラーが発生します 出力されない None 12. 次のコードの実行結果を選んでください。 class MyClass:def __init__(self, x):self.x = xobj1 = MyClass(10)obj2 = MyClass(20)print(obj1.x + obj2.x) 30 20 10 エラーが発生する None 13. 次のコードを実行したときの出力結果は何でしょうか? power = lambda x, y: x ** yprint(power(2, 3)) 6 8 9 エラー None 14. 次のコードについて、Childクラスが継承している親クラスを判定する方法として正しいものを選んでください。 class Parent:passclass Child(Parent):passprint(issubclass(Child, Parent)) エラーが発生する False True None None 15. 次のコードを実行した後のstackの内容は何でしょうか? stack = [1, 2, 3]for _ in range(2):stack.append(stack[-1] + stack[-2])stack.pop() [1, 2, 3, 4, 6] [1, 2, 3, 5, 8] [1, 2, 3, 8] [1, 2, 3, 5] None 16. 次のコードを実行した後のstackの内容は何でしょうか? stack = [10, 20, 30]stack.append(40)stack.pop()stack.append(50)stack.pop()stack.append(60)stack.pop() [10, 20, 30] [10, 20, 30, 40] [10, 20, 30, 40, 50] [10, 20, 30, 60] None 17. 次のコードの出力結果を選んでください。 my_set = {1, 2, 3}my_set.add(4)print(my_set) {1, 2, 3} エラーになる [1, 2, 3, 4] {1, 2, 3, 4} None 18. 次のコードについて、glob.glob("*[0-9].py")が返す結果として正しい説明を選んでください。 import globresult = glob.glob("*[0-9].py") ファイル名が数字を含む.pyファイルを検索する ファイル名が数字で終わる.pyファイルを検索する ファイル名が文字で終わる.pyファイルを検索する エラーが発生する None 19. リストnumbersの要素を順番に出力するコードはどれでしょうか? for n in numbers: print(n) for n in range(numbers): print(n) for n in len(numbers): print(n) for n in numbers[]: print(n) None 20. 次のコードの実行結果を選んでください。 class MyClass:def __init__(self, value):self.value = valueobj1 = MyClass(10)obj2 = obj1obj2.value = 20print(obj1.value) 20 10 1 2 None 21. 次のコードを実行した場合の出力として正しいものを選んでください。 value = [123.456, 78.9, 4.321]formatted = " | ".join("{:.1f}".format(v) for v in value)print(formatted) 123.456 | 78.9 | 4.321 123.5 | 78.9 | 4.3 123.4 | 78.9 | 4.3 123.45 | 78.90 | 4.32 None 22. 次のコードを実行した場合の出力として正しいものを選んでください。 value = 255formatted = "{:X}".format(value)print(formatted) 255 0xFF fF FF None 23. 変数aが5以上10以下の場合に「範囲内です」と表示するコードはどれでしょうか? if a >= 5 and a <= 10: print("範囲内です") if a 10: print("範囲内です") if a == 5 and a == 10: print("範囲内です") if a = 10: print("範囲内です") None 24. 次のコードの実行結果を選んでください。 # ファイル名: sample.txt# 初期内容:# ---# Line 1# Line 2# ---with open('sample.txt', 'a') as f:f.write("\nNew Line")with open('sample.txt', 'r') as f:print(f.read()) Line 1 Line 2 New Line Line 2New Line New Line エラーが発生する None 25. 次のコードを実行した場合、出力は何ですか? from collections import dequedq = deque([1, 2, 3, 4])dq.extendleft([5, 6])print(dq) deque([5, 6, 1, 2, 3, 4]) deque([4, 3, 2, 1, 6, 5]) deque([6, 5, 1, 2, 3, 4]) deque([1, 2, 3, 4, 5, 6]) None 26. 次のコードを実行したときの出力結果は何でしょうか? def calculate_area(length=5, width=3):return length * widthprint(calculate_area(width=4)) 20 15 12 エラー None 27. 次のコードで、ファイルがすでに存在している場合に発生する挙動を選んでください。 # ファイル名: sample.txtwith open('sample.txt', 'x') as f:f.write("Exclusive write mode") ファイルが上書きされる ファイルに内容が追記される エラーが発生する 新規ファイルが作成される None 28. 次のコードを実行した場合、出力結果として正しいものを選んでください。 def describe_person(name, age=30, country="Japan"):print(f"{name} is {age} years old and lives in {country}.")describe_person("Bob", country="USA") Bob is 30 years old and lives in USA. Bob is 30 years old and lives in Japan. エラーが発生します。 Bob is 25 years old and lives in USA. None 29. 次のコードの実行結果を選んでください。 set1 = {1, 2, 3}print(4 in set1) True False None エラーになる None 30. 次のコードを実行したときの出力結果は何でしょうか? day = "Sunday"result = "Weekday" if day in ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] else "Weekend"print(result) Weekday Weekend エラーが発生します 出力されない None 31. Pythonで仮想環境を作成するために使用される標準ライブラリとして正しいものを選んでください。 venv virtualenv envsetup pyenv None 32. 次のコードの実行結果を選んでください。 class A:passclass B(A):passclass C(A):passprint(issubclass(C, A))print(issubclass(B, C)) True False True True False True エラーが発生する None 33. 次のコードを実行した場合の結果として正しいものを選んでください。 import unittestfrom unittest.mock import patchclass TestPatchExample(unittest.TestCase):@patch("builtins.print")def test_patch(self, mock_print):print("Hello, World!")mock_print.assert_called_with("Hello, World!")if __name__ == "__main__":unittest.main() テストが失敗する テストが成功する エラーが発生する 何も出力されない None 34. 次のコードについて、urlopenにタイムアウトを設定する理由として正しいものを選んでください。 import urllib.requestresponse = urllib.request.urlopen("https://www.example.com", timeout=10) HTTPリクエストのステータスコードを制限するため URLの長さを制限するため サーバーが応答しない場合に無限に待機しないようにする クエリパラメータをエンコードするため None 35. Pythonの標準ライブラリで、より高度なコマンドライン引数の解析を行うために使用されるモジュールとして正しいものを選んでください。 sys argparse getopt os None 36. 次のコードを実行した場合、出力は何ですか? from collections import dequedq = deque([1, 2, 3], maxlen=3)dq.extend([4, 5])print(dq) deque([4, 5]) deque([3, 4, 5]) エラー deque([1, 2, 3, 4, 5]) None 37. 次のコードを実行した場合、出力は何ですか? from collections import dequedq = deque([1, 2, 3, 4], maxlen=4)dq.append(5)print(dq) deque([1, 2, 3, 4]) deque([5, 2, 3, 4]) deque([2, 3, 4, 5]) エラー None 38. 次のコードについて、glob.glob("[!a]*.txt")の正しい動作を選んでください。 import globresult = glob.glob("[!a]*.txt") ファイル名がaで始まる.txtファイルを検索する ファイル名がa以外の文字列を検索する エラーが発生する ファイル名がa以外の文字で始まり、.txtで終わるすべてのファイルを検索する None 39. 次のコードにおいて、finallyブロックの役割として正しいものを選んでください。 try:x = 10 / 0except ZeroDivisionError:print("Cannot divide by zero")finally:print("Execution complete") tryブロック内の例外が発生した場合でも必ず実行されるコード 例外が発生しない場合のみ実行されるコード 例外をキャッチして処理を行うコード 例外を発生させるコード None 40. 次のコードの実行結果を選んでください。 class A:passclass B(A):passclass C(B):passprint(issubclass(C, A))print(issubclass(C, object)) True False True True False True エラーが発生する None Time's up