Python 3エンジニア認定基礎試験~模擬試験⑧~ 2024年12月10日2024年12月10日 ailearn 1. 次のコードでfrom package import *を使用した場合、インポートされるものを制御する方法を選んでください。 __all__リストを定義する __name__を設定する __file__を設定する __doc__を設定する None 2. 変数tempが25度以上なら「暑いです」、そうでなければ「快適です」と表示する条件式はどれでしょうか? print("暑いです" if temp > 25 else "快適です") print("快適です" if temp >= 25 else "暑いです") print("快適です" if temp > 25 else "暑いです") print("暑いです" if temp >= 25 else "快適です") None 3. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 4. 変数numが偶数である場合に「偶数」、奇数である場合に「奇数」と表示するコードはどれでしょうか? print("奇数" if num % 2 == 0 else "偶数") print("偶数" if num % 2 else "奇数") print("偶数" if num % 2 == 0 else "奇数") print("奇数" if num % 2 else "偶数") None 5. 次のコードを実行した場合の結果として正しいものを選んでください。 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 6. 次のコードを実行したときの出力結果は何でしょうか? num = 16result = "4の倍数" if num % 4 == 0 else "4の倍数ではありません"print(result) 4の倍数ではありません エラーが発生します 出力されない 4の倍数 None 7. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 8. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py# subpackage/module.pydef add(a, b):return a + b# main.pyimport package.subpackage.module as modprint(mod.add(3, 7)) 7 Error: add not found 10 None None 9. 次のコードについて、正しい出力を選んでください。 import urllib.parseparams = {'name': 'John', 'age': 30}query_string = urllib.parse.urlencode(params)print(query_string) name=John&age=30 {'name': 'John', 'age': 30} name=John, age=30 {'name': ['John'], 'age': [30]} None 10. 次のコードで、親パッケージを明示的に参照せずにサブパッケージのモジュールをインポートする方法を選んでください。 # current module: package/subpackage/module.pyfrom ... import sibling_module sibling_moduleをインポートする エラーが発生する パッケージ階層全体がインポートされる __name__が変更される None 11. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom .. import module1 as modprint(mod.__name__) "package.module1" "module1" Error: module1 not found エラーが発生する None 12. 次のコードを実行した場合の結果として正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def test_skip(self):self.skipTest("This test is skipped")if __name__ == "__main__":unittest.main() テストが成功する テストが失敗する エラーが発生する テストはスキップされる None 13. 次のコードを実行したときの出力結果は何でしょうか? temp = 18result = "寒い" if temp < 15 else "快適" if temp < 25 else "暑い"print(result) 寒い 快適 暑い エラーが発生します None 14. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 15. 変数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 16. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 17. 次のコードを実行したときの出力結果は何でしょうか? 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 18. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module.py# module.pyvalue = 42# main.pyfrom package.module import valuevalue = value + 1print(value) 43 42 Error: value not found エラーが発生する None 19. 変数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 20. 次のコードを実行した場合の出力として正しいものを選んでください。 import urllib.requestreq = urllib.request.Request("https://www.example.com",headers={"User-Agent": "CustomAgent/1.0"})response = urllib.request.urlopen(req)print(response.status) HTTPレスポンスのステータスコード ユーザーエージェントの値 HTTPレスポンスヘッダー全体 HTTPレスポンスボディ None 21. 次のコードを実行したときの出力結果は何でしょうか? x = -10result = "正の数" if x > 0 else "負の数またはゼロ"print(result) 正の数 負の数またはゼロ エラーが発生します 出力されない None 22. 次のコードの出力結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom ..module1 import greetprint(greet())# module1.pydef greet():return "Hello from module1!" Error: module1 not found エラーが発生する "Hello from module1!" "greet not found" None 23. 変数yが正の数であれば「正の数」、負の数であれば「負の数」と表示するコードはどれでしょうか? 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. 変数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 26. 次のコードを実行したときの出力結果は何でしょうか? 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 27. 次のコードについて、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 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 = 5result = "偶数" if num % 2 == 0 else "奇数"print(result) 偶数 奇数 エラーが発生します 出力されない None 30. 次のコードの出力結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module.py# module.pydef greet():return "Hello from package!"# main.pyfrom package import greetprint(greet()) Hello from package! Error: greet not found None エラーが発生する None 31. 次のコードを実行したときの出力結果は何でしょうか? temp = 28result = "寒い" if temp < 15 else "快適" if temp < 25 else "暑い"print(result) 寒い 快適 暑い エラーが発生します None 32. 次のコードを実行した場合の結果として正しいものを選んでください。 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 33. 次のコードについて、urlopenにタイムアウトを設定する理由として正しいものを選んでください。 import urllib.requestresponse = urllib.request.urlopen("https://www.example.com", timeout=10) HTTPリクエストのステータスコードを制限するため URLの長さを制限するため サーバーが応答しない場合に無限に待機しないようにする クエリパラメータをエンコードするため None 34. 次のコードで、module3.py内の関数funcを相対インポートでインポートする正しい方法を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module3.py# ├── subpackage/# │ ├── __init__.py# │ ├── module4.py# module4.py から module3.py の func をインポートする from ..module3 import func from .module3 import func import func from package.module3 import func None 35. 変数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 36. 次のコードを実行した場合の出力として正しいものを選んでください。 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 37. 次のコードを実行したときの出力結果は何でしょうか? day = "Sunday"result = "Weekday" if day in ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] else "Weekend"print(result) Weekday Weekend エラーが発生します 出力されない None 38. 次のコードで、サブパッケージのsubpackage内にあるモジュールmoduleを読み込む正しい方法を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py import subpackage.module import package.subpackage.module from subpackage import module import module None 39. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 40. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom ..module1 import greetprint(__name__)# module1.pydef greet():return "Greetings from module1" "__main__" "module2" "package.subpackage.module2" エラーが発生する None Time's up