Python 3エンジニア認定基礎試験~模擬試験⑧~ 2024年12月10日2024年12月10日 ailearn 1. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 2. 次のコードについて、HTTPヘッダーの取得方法として正しいものを選んでください。 import urllib.requestresponse = urllib.request.urlopen("https://www.example.com")print(response.getheaders()) HTTPリクエストヘッダーを取得する HTTPレスポンスヘッダーをリストとして取得する HTTPレスポンスボディを取得する URL全体を文字列として返す None 3. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 4. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 5. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module.py# module.pydef greet():return "Greetings!"# main.pyfrom package.module import greet as helloprint(hello()) "Greetings!" Error: greet not found "Hello!" エラーが発生する None 6. 次のコードを実行した場合の動作として正しいものを選んでください。 import urllib.errortry:urllib.request.urlopen("https://invalid-url")except urllib.error.URLError as e:print(f"Reason: {e.reason}") HTTPレスポンスコードを出力する Reason: を出力する エラーが発生し、スタックトレースが表示される 何も出力されない None 7. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# │ ├── module3.py# module2.pyfrom .module3 import greet as helloprint(hello())# module3.pydef greet():return "Hello from module3" "Hello from module3" Error: greet not found "hello not found" エラーが発生する None 8. 次のコードを実行したときの出力結果は何でしょうか? y = -3result = "正" if y > 0 else "ゼロ" if y == 0 else "負"print(result) 正 ゼロ 負 エラーが発生します None 9. 次のコードを実行したときの出力結果は何でしょうか? a, b = 8, 4result = "aはbの倍数" if a % b == 0 else "aはbの倍数ではない"print(result) aはbの倍数 aはbの倍数ではない エラーが発生します 出力されない None 10. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 11. 次のコードを実行した場合の出力として正しいものを選んでください。 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 12. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py# module.pydef greet():return "Greetings from module!"# main.pyfrom package.subpackage import moduleprint(module.greet()) Greetings from module! Error: greet not found エラーが発生する None None 13. 次のコードにおいて、相対インポートを使用して同じディレクトリ内の別モジュールをインポートする正しい方法を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module1.py# │ ├── module2.py# module2.py から module1.py をインポートする import module1 from .. import module1 from . import module1 from package.subpackage import module1 None 14. unittestのmockモジュールの用途として正しいものを選んでください。 テスト結果を自動的に生成するため テスト対象の外部依存をシミュレートするため テストの実行速度を向上させるため テストケースを並列に実行するため None 15. 次のコードを実行した場合の出力として正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def test_exception(self):with self.assertRaises(ZeroDivisionError):result = 1 / 0if __name__ == "__main__":unittest.main() テストが失敗する テストが成功する エラーが発生する 何も出力されない None 16. 次のコードでfrom package import *を使用した場合、インポートされるものを制御する方法を選んでください。 __all__リストを定義する __name__を設定する __file__を設定する __doc__を設定する None 17. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom ..module1 import addprint(add(10, 20))# module1.pydef add(a, b):return a + b 30 None エラーが発生する "module1 not found" None 18. 次のコードを実行したときの出力結果は何でしょうか? day = "Sunday"result = "Weekday" if day in ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] else "Weekend"print(result) Weekday Weekend エラーが発生します 出力されない None 19. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 20. 変数aが1以上10以下の範囲に含まれている場合に「範囲内」、そうでない場合に「範囲外」と表示するコードはどれでしょうか? print("範囲内" if a >= 1 or a <= 10 else "範囲外") print("範囲内" if 1 <= a <= 10 else "範囲外") print("範囲外" if 1 <= a <= 10 else "範囲内") print("範囲内" if a 10 else "範囲外") None 21. 次のコードを実行した場合の結果として正しいものを選んでください。 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 22. 変数xが10より大きい場合に「10より大きい」と表示し、そうでない場合に「10以下です」と表示する条件式はどれでしょうか? print("10より大きい" if x > 10 else "10以下です") print("10以下です" if x < 10 else "10より大きい") print("10より大きい" if x < 10 else "10以下です") print("10以下です" if x > 10 else "10より大きい") None 23. 変数yが0である場合に「ゼロです」、そうでない場合に「ゼロではありません」と表示する条件式はどれでしょうか? print("ゼロではありません" if y == 0 else "ゼロです") print("ゼロです" if y == 0 else "ゼロではありません") print("ゼロです" if y != 0 else "ゼロではありません") print("ゼロではありません" if y != 0 else "ゼロです") None 24. Pythonで単体テストを記述するために使用される標準ライブラリとして正しいものを選んでください。 unittest pytest mock testlib None 25. 次のコードを実行したときの出力結果は何でしょうか? x, y = 12, 3result = "両方偶数" if x % 2 == 0 and y % 2 == 0 else "どちらかが奇数"print(result) 両方偶数 エラーが発生します どちらかが奇数 出力されない None 26. 次のコードを実行したときの出力結果は何でしょうか? age = 18result = "成人" if age >= 20 else "未成年"print(result) 成人 未成年 エラーが発生します 出力されない None 27. 次のコードを実行したときの出力結果は何でしょうか? num = 16result = "4の倍数" if num % 4 == 0 else "4の倍数ではありません"print(result) 4の倍数ではありません エラーが発生します 出力されない 4の倍数 None 28. 次のコードを実行したときの出力結果は何でしょうか? y = 5result = "3の倍数" if y % 3 == 0 else "3の倍数ではない"print(result) 3の倍数 3の倍数ではない エラーが発生します 出力されない None 29. 次のコードを実行した場合の結果として正しいものを選んでください。 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 30. 次のコードで、相対インポートが失敗する理由を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom ..module1 import greet モジュールmodule1が見つからないため スクリプトとして直接実行しているため 相対インポートは絶対インポートより優先されるため PYTHONPATHにパッケージが含まれていないため None 31. 変数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 32. 変数xが20以上ならば「20以上」、そうでないならば「20未満」と表示する条件式はどれでしょうか? print("20以上" if x >= 20 else "20未満") print("20以上" if x < 20 else "20未満") print("20未満" if x >= 20 else "20以上") print("20未満" if x < 20 else "20以上") None 33. 変数tempが25度以上なら「暑いです」、そうでなければ「快適です」と表示する条件式はどれでしょうか? print("暑いです" if temp > 25 else "快適です") print("快適です" if temp >= 25 else "暑いです") print("快適です" if temp > 25 else "暑いです") print("暑いです" if temp >= 25 else "快適です") None 34. 次のコードについて、モックを使用したテストの結果として正しいものを選んでください。 import unittestfrom unittest.mock import MagicMockclass TestMockExample(unittest.TestCase):def test_mock(self):mock_function = MagicMock(return_value=42)result = mock_function()self.assertEqual(result, 42)if __name__ == "__main__":unittest.main() テストが成功する テストが失敗する エラーが発生する 何も出力されない None 35. 変数aが正の数の場合に「正の数」、負の数の場合に「負の数」、ゼロの場合に「ゼロ」と表示するには、次のどの条件式を使用すべきでしょうか? print("負の数" if a > 0 else "ゼロ" if a == 0 else "正の数") print("ゼロ" if a > 0 else "負の数" if a == 0 else "正の数") print("正の数" if a > 0 else "ゼロ" if a == 0 else "負の数") print("正の数" if a < 0 else "負の数" if a == 0 else "ゼロ") None 36. 変数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 37. 次のコードを実行したときの出力結果は何でしょうか? a, b = 7, 7result = "等しい" if a == b else "異なる"print(result) 等しい 異なる エラーが発生します 出力されない None 38. 次のコードについて、出力結果として正しいものを選んでください。 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 39. 変数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 40. 変数yが正の数であれば「正の数」、負の数であれば「負の数」と表示するコードはどれでしょうか? print("正の数" if y > 0 else "負の数") print("負の数" if y < 0 else "正の数") print("正の数" if y >= 0 else "負の数") print("正の数" if y != 0 else "負の数") None Time's up