Python 3エンジニア認定基礎試験~模擬試験⑧~ 2024年12月10日2024年12月10日 ailearn 1. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module.py# module.pyvalue = 42# main.pyfrom package.module import valuevalue = value + 1print(value) 43 42 Error: value not found エラーが発生する None 2. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom .. import module1print(module1) Error: module1 not found None エラーが発生する None 3. 次のコードを実行したときの出力結果は何でしょうか? a, b = 5, 10result = "aはbより小さい" if a < b else "aはbと等しいか大きい"print(result) aはbより小さい aはbと等しいか大きい エラーが発生します 出力されない None 4. 次のコードを実行したときの出力結果は何でしょうか? marks = 55result = "Excellent" if marks >= 90 else "Good" if marks >= 75 else "Average" if marks >= 50 else "Poor"print(result) Excellent Good Poor Average None 5. 次のコードを実行したときの出力結果は何でしょうか? a, b = 8, 4result = "aはbの倍数" if a % b == 0 else "aはbの倍数ではない"print(result) aはbの倍数 aはbの倍数ではない エラーが発生します 出力されない None 6. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# │ ├── module3.py# module2.pyfrom . import module3 as modprint(mod.__file__) module3.pyのファイルパス module3 Error: mod not found エラーが発生する None 7. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module.py# module.pydef add(a, b):return a + b# main.pyfrom package import moduleprint(module.add(5, 3)) 8 Error: add not found None エラーが発生する None 8. 次のコードを実行した場合の結果として正しいものを選んでください。 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 9. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── module2.py# __init__.py__all__ = ['module1']# main.pyfrom package import *import package.module2print(hasattr(package, 'module2')) False None エラーが発生する True None 10. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# │ ├── module3.py# module2.pyfrom ..subpackage.module3 import greetprint(greet())# module3.pydef greet():return "Greetings from module3!" Error: module3 not found None エラーが発生する "Greetings from module3!" None 11. 次のコードで、相対インポートを使用して2階層上のディレクトリからモジュールをインポートする正しい方法を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── subsubpackage/# │ │ ├── __init__.py# │ │ ├── module2.py# module2.py から module1 をインポートする from .. import module1 import module1 from package.module1 import * from ... import module1 None 12. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom ..module1 import funcprint(func(5, 7))# module1.pydef func(a, b):return a + b Error: func not found エラーが発生する 12 None None 13. 変数nが5と10の両方で割り切れる場合に「5と10の倍数」、そうでなければ「倍数ではない」と表示するコードはどれでしょうか? print("5と10の倍数" if n % 5 == 0 and n % 10 == 0 else "倍数ではない") print("5と10の倍数" if n % 5 == 0 or n % 10 == 0 else "倍数ではない") print("倍数ではない" if n % 5 == 0 and n % 10 == 0 else "5と10の倍数") print("倍数ではない" if n % 5 != 0 and n % 10 != 0 else "5と10の倍数") None 14. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom .. import module1print(module1.__name__)# module1.pyprint("Module1 imported") "module1" "package.module1" Error: module1 not found エラーが発生する None 15. 次のコードを実行したときの出力結果は何でしょうか? a = 3b = 5result = "aとbは等しい" if a == b else "aはbより小さい" if a < b else "aはbより大きい"print(result) aとbは等しい aはbより小さい aはbより大きい エラーが発生します None 16. 次のコードについて、tearDownメソッドの用途として正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def setUp(self):self.file = open("test.txt", "w")def tearDown(self):self.file.close()def test_case(self):self.assertTrue(self.file.writable()) 各テストメソッドの実行前に初期化処理を行う テストケースを終了するために呼び出される 各テストメソッドの実行後に後処理を行う テスト結果を表示するために使用される None 17. 次のコードについて、HTTPヘッダーの取得方法として正しいものを選んでください。 import urllib.requestresponse = urllib.request.urlopen("https://www.example.com")print(response.getheaders()) HTTPリクエストヘッダーを取得する HTTPレスポンスヘッダーをリストとして取得する HTTPレスポンスボディを取得する URL全体を文字列として返す None 18. 変数scoreが60以上なら「合格」、そうでなければ「不合格」と表示する条件式はどれでしょうか? print("合格" if score < 60 else "不合格") print("不合格" if score >= 60 else "合格") print("合格" if score >= 60 else "不合格") print("不合格" if score < 60 else "合格") None 19. 次のコードを実行した場合の結果として正しいものを選んでください。 import unittestfrom unittest.mock import MagicMockclass TestMockCallCount(unittest.TestCase):def test_call_count(self):mock_function = MagicMock()mock_function()mock_function()self.assertEqual(mock_function.call_count, 2)if __name__ == "__main__":unittest.main() テストが失敗する エラーが発生する テストが成功する 何も出力されない None 20. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# │ ├── module3.py# module2.pyfrom .module3 import greetfrom .. import module1print(greet(), module1.__name__)# module3.pydef greet():return "Hello from module3"# module1.pydef info():return "Info from module1" "module3 module1" Error: module1 not found エラーが発生する "Hello from module3 package.module1" None 21. 変数tempが25度以上なら「暑いです」、そうでなければ「快適です」と表示する条件式はどれでしょうか? print("暑いです" if temp > 25 else "快適です") print("快適です" if temp >= 25 else "暑いです") print("快適です" if temp > 25 else "暑いです") print("暑いです" if temp >= 25 else "快適です") None 22. 次のコードを実行した場合の出力として正しいものを選んでください。 import unittestclass TestMathOperations(unittest.TestCase):def test_addition(self):self.assertEqual(2 + 2, 4)@unittest.skipUnless(3 > 2, "Skipping because condition is False")def test_condition(self):self.assertTrue(3 > 2)if __name__ == "__main__":unittest.main() test_additionとtest_conditionの両方が実行される test_additionのみが実行される エラーが発生する 何も出力されない None 23. 次のコードを実行したときの出力結果は何でしょうか? x = 10result = "10以上です" if x >= 10 else "10未満です"print(result) 10以上です 10未満です エラーが発生します 出力されない None 24. 次のコードの動作として正しい説明を選んでください。 import urllib.requestresponse = urllib.request.urlopen("https://www.example.com")print(response.status) HTTPリクエストのヘッダーを取得する URLの内容を文字列として返す レスポンスヘッダーを取得する HTTPレスポンスのステータスコードを取得する None 25. 次のコードを実行したときの出力結果は何でしょうか? age = 17result = "未成年" if age < 20 else "成人"print(result) 未成年 成人 エラーが発生します 出力されない None 26. 次のコードを実行したときの出力結果は何でしょうか? num = 5result = "偶数" if num % 2 == 0 else "奇数"print(result) 偶数 奇数 エラーが発生します 出力されない None 27. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module.py# module.pydef greet():return "Hello from module!"# main.pyfrom package.module import greetprint(greet()) Hello from module! Error: greet not found None エラーが発生する None 28. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 29. 変数numが偶数ならば「偶数です」、奇数なら「奇数です」と表示する条件式はどれでしょうか? print("偶数です" if num % 2 == 1 else "奇数です") print("奇数です" if num % 2 == 0 else "偶数です") print("偶数です" if num % 2 == 0 else "奇数です") print("偶数です" if num % 2 else "奇数です") None 30. 次の選択肢の中で、Pythonでパッケージを読み込むための正しい方法を選んでください。 import package_name load package_name include package_name require package_name None 31. 変数aが変数bより大きい場合に「aはbより大きい」と表示し、そうでない場合に「aはb以下です」と表示するコードはどれでしょうか? print("aはbより大きい" if a > b else "aはb以下です") print("aはb以下です" if a == b else "aはbより大きい") print("aはb以下です" if a > b else "aはbより大きい") print("aはbより大きい" if a >= b else "aはb以下です") None 32. 次のコードで、相対インポートが失敗する理由を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom ..module1 import greet モジュールmodule1が見つからないため スクリプトとして直接実行しているため 相対インポートは絶対インポートより優先されるため PYTHONPATHにパッケージが含まれていないため None 33. 次のコードを実行したときの出力結果は何でしょうか? value = 0result = "非ゼロ" if value else "ゼロ"print(result) 非ゼロ ゼロ エラーが発生します 出力されない None 34. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# │ ├── module3.py# module2.pyfrom . import module3print(dir(module3))# module3.pydef greet():return "Hello from module3"class Greeter:def say_hello(self):return "Hello, world!" ['Greeter', 'greet', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__'] Error: module3 not found ['Greeter', 'greet'] エラーが発生する None 35. 変数aとbの両方が正の数である場合に「両方正の数」、それ以外の場合に「どちらかまたは両方が負またはゼロ」と表示するコードはどれでしょうか? print("両方正の数" if a > 0 or b > 0 else "どちらかまたは両方が負またはゼロ") print("どちらかまたは両方が負またはゼロ" if a > 0 and b > 0 else "両方正の数") print("両方正の数" if a >= 0 and b >= 0 else "どちらかまたは両方が負またはゼロ") print("両方正の数" if a > 0 and b > 0 else "どちらかまたは両方が負またはゼロ") None 36. 次のコードについて、出力結果として正しいものを選んでください。 import unittestclass TestListOperations(unittest.TestCase):def test_list_modification(self):lst = [1, 2, 3]lst.append(4)self.assertListEqual(lst, [1, 2, 3, 4])if __name__ == "__main__":unittest.main() テストが失敗する エラーが発生する テストが成功する 何も出力されない None 37. 変数numが偶数である場合に「偶数」、奇数である場合に「奇数」と表示するコードはどれでしょうか? print("奇数" if num % 2 == 0 else "偶数") print("偶数" if num % 2 else "奇数") print("偶数" if num % 2 == 0 else "奇数") print("奇数" if num % 2 else "偶数") None 38. 次のコードを実行したときの出力結果は何でしょうか? num = 16result = "4の倍数" if num % 4 == 0 else "4の倍数ではありません"print(result) 4の倍数ではありません エラーが発生します 出力されない 4の倍数 None 39. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py# subpackage/__init__.py__all__ = ['module']# main.pyfrom package.subpackage import *print('module' in globals()) False エラーが発生する True None None 40. 次のコードについて、HTTP POSTリクエストのボディ内容として正しいものを選んでください。 import urllib.requestimport urllib.parsedata = urllib.parse.urlencode({"key": "value"}).encode("utf-8")req = urllib.request.Request("https://www.example.com",data=data,method="POST")response = urllib.request.urlopen(req)print(response.status) {"key": "value"} None key=value key=valueを含むURL None Time's up