Python 3エンジニア認定基礎試験~模擬試験⑧~ 2024年12月10日2024年12月10日 ailearn 1. 次のコードで、親パッケージを明示的に参照せずにサブパッケージのモジュールをインポートする方法を選んでください。 # current module: package/subpackage/module.pyfrom ... import sibling_module sibling_moduleをインポートする エラーが発生する パッケージ階層全体がインポートされる __name__が変更される None 2. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 3. 次のコードにおいて、相対インポートを使用して同じディレクトリ内の別モジュールをインポートする正しい方法を選んでください。 # パッケージ構造:# 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 4. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 5. 次のコードを実行した場合の出力として正しいものを選んでください。 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 6. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py# subpackage/__init__.pyfrom .module import hello# main.pyfrom package.subpackage import helloprint(hello()) None Hello from subpackage! Error: hello not found エラーが発生する None 7. 次のコードについて、HTTPヘッダーの取得方法として正しいものを選んでください。 import urllib.requestresponse = urllib.request.urlopen("https://www.example.com")print(response.getheaders()) HTTPリクエストヘッダーを取得する HTTPレスポンスヘッダーをリストとして取得する HTTPレスポンスボディを取得する URL全体を文字列として返す None 8. 次のコードを実行した場合の結果として正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def test_skip(self):self.skipTest("This test is skipped")if __name__ == "__main__":unittest.main() テストが成功する テストが失敗する エラーが発生する テストはスキップされる None 9. 次のコードを実行したときの出力結果は何でしょうか? num = 16result = "4の倍数" if num % 4 == 0 else "4の倍数ではありません"print(result) 4の倍数ではありません エラーが発生します 出力されない 4の倍数 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. 次のコードを実行したときの出力結果は何でしょうか? 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 12. 次のコードでfrom package import *を使用した場合、インポートされるものを制御する方法を選んでください。 __all__リストを定義する __name__を設定する __file__を設定する __doc__を設定する None 13. 次のコードについて、正しい出力を選んでください。 import urllib.parseurl = "https://www.example.com/path/to/page?name=John&age=30"parsed_url = urllib.parse.urlparse(url)print(parsed_url.netloc) /path/to/page www.example.com https://www.example.com name=John&age=30 None 14. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 15. 次のコードについて、テストメソッド名に必要なルールとして正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def test_something(self):self.assertTrue(True) メソッド名はunit_で始める必要がある メソッド名はcase_で始める必要がある メソッド名は何でも良い メソッド名はtest_で始める必要がある None 16. 変数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 17. 変数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 18. 次のコードで、from ... import構文を使用してサブパッケージをインポートする正しい方法を選んでください。 # main.py# パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py from subpackage import module from module import subpackage from package import subpackage.module from package.subpackage import module None 19. 次のコードを実行したときの出力結果は何でしょうか? temp = 25result = "夏日" if temp >= 25 else "それ以外"print(result) それ以外 エラーが発生します 夏日 出力されない None 20. 次のコードを実行したときの出力結果は何でしょうか? age = 18result = "成人" if age >= 20 else "未成年"print(result) 成人 未成年 エラーが発生します 出力されない None 21. 次のコードを実行したときの出力結果は何でしょうか? 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 22. 次のコードの出力結果を選んでください。 # package/subpackage/module.pyprint(__name__)# main.pyimport package.subpackage.module __main__ package.subpackage.module Error: module not found エラーが発生する None 23. 次のコードを実行したときの出力結果は何でしょうか? x = -10result = "正の数" if x > 0 else "負の数またはゼロ"print(result) 正の数 負の数またはゼロ エラーが発生します 出力されない None 24. 次のコードの出力結果を選んでください。 # パッケージ構造:# 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 25. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py# subpackage/module.pydef hello():return "Hello from subpackage!"# main.pyimport package.subpackage.module as modprint(mod.hello()) エラーが発生する None Error: hello not found Hello from subpackage! None 26. 次のコードについて、クエリパラメータを解析するための正しい関数を選んでください。 import urllib.parseurl = "https://www.example.com/path?name=John&age=30"parsed_url = urllib.parse.urlparse(url)query_params = urllib.parse.parse_qs(parsed_url.query)print(query_params) {'name': 'John', 'age': '30'} ['name=John', 'age=30'] {'name': ['John'], 'age': ['30']} ['John', '30'] None 27. 次のコードを実行したときの出力結果は何でしょうか? num = 100result = "100以下" if num <= 100 else "100より大きい"print(result) 100より大きい エラーが発生します 100以下 出力されない None 28. 次のコードを実行した場合の結果として正しいものを選んでください。 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 29. 次のコードを実行したときの出力結果は何でしょうか? a, b = 7, 7result = "等しい" if a == b else "異なる"print(result) 等しい 異なる エラーが発生します 出力されない None 30. 次のコードを実行した場合の出力として正しいものを選んでください。 import urllib.requesttry:response = urllib.request.urlopen("https://www.example.com")print(response.read().decode("utf-8")[:20])except urllib.error.HTTPError as e:print(f"HTTP Error: {e.code}")except urllib.error.URLError as e:print(f"URL Error: {e.reason}") サイトのHTMLコンテンツの最初の20文字を出力する HTTP Error: 404 URL Error: エラーが発生し、スタックトレースが表示される None 31. 次のコードで、相対インポートが失敗する理由を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom ..module1 import greet モジュールmodule1が見つからないため スクリプトとして直接実行しているため 相対インポートは絶対インポートより優先されるため PYTHONPATHにパッケージが含まれていないため None 32. 次のコードの出力結果を選んでください。 # パッケージ構造:# 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 33. 変数xが0でなければ「非ゼロ」と表示し、0であれば「ゼロ」と表示するコードはどれでしょうか? print("ゼロ" if x else "非ゼロ") print("非ゼロ" if x else "ゼロ") print("ゼロ" if x != 0 else "非ゼロ") print("非ゼロ" if x == 0 else "ゼロ") None 34. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 35. 次のうち、unittestでテストを実行するために使用される標準的なコマンドとして正しいものを選んでください。 python -test unittest python -m unittest pytest unittest run unittest None 36. 次のコードを実行した場合の出力として正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def test_exception(self):with self.assertRaises(ZeroDivisionError):result = 1 / 0if __name__ == "__main__":unittest.main() テストが失敗する テストが成功する エラーが発生する 何も出力されない None 37. 変数yが0である場合に「ゼロです」、そうでない場合に「ゼロではありません」と表示する条件式はどれでしょうか? print("ゼロではありません" if y == 0 else "ゼロです") print("ゼロです" if y == 0 else "ゼロではありません") print("ゼロです" if y != 0 else "ゼロではありません") print("ゼロではありません" if y != 0 else "ゼロです") None 38. 次のコードを実行した場合の動作として正しいものを選んでください。 import urllib.errortry:urllib.request.urlopen("https://invalid-url")except urllib.error.URLError as e:print(f"Reason: {e.reason}") HTTPレスポンスコードを出力する Reason: を出力する エラーが発生し、スタックトレースが表示される 何も出力されない None 39. 次のコードを実行した場合の出力として正しいものを選んでください。 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 40. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 Time's up