Python 3エンジニア認定基礎試験~模擬試験⑧~ 2024年12月10日2024年12月10日 ailearn 1. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.pyfrom .. import module1print(module1) Error: module1 not found None エラーが発生する None 2. 次のコードについて、assertEqualメソッドの用途として正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def test_case(self):self.assertEqual(2 * 3, 6) 2つの値が異なるかどうかを確認する 2つの値が同じ型かどうかを確認する 2つの値が等しいかどうかを確認する 2つの値が同じメモリ参照を持つかどうかを確認する None 3. 変数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 4. 変数scoreが50以上の場合に「合格」、そうでなければ「不合格」と表示するコードはどれでしょうか? print("合格" if score <= 50 else "不合格") print("合格" if score >= 50 else "不合格") print("不合格" if score >= 50 else "合格") print("不合格" if score < 50 else "合格") None 5. 次のコードを実行したときの出力結果は何でしょうか? y = 5result = "3の倍数" if y % 3 == 0 else "3の倍数ではない"print(result) 3の倍数 3の倍数ではない エラーが発生します 出力されない None 6. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 7. 変数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 8. 次のコードで、サブパッケージのsubpackage内にあるモジュールmoduleを読み込む正しい方法を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module.py import subpackage.module import package.subpackage.module from subpackage import module import module None 9. 変数scoreが60以上なら「合格」、そうでなければ「不合格」と表示する条件式はどれでしょうか? print("合格" if score < 60 else "不合格") print("不合格" if score >= 60 else "合格") print("合格" if score >= 60 else "不合格") print("不合格" if score < 60 else "合格") None 10. 次のコードを実行したときの出力結果は何でしょうか? temp = 25result = "夏日" if temp >= 25 else "それ以外"print(result) それ以外 エラーが発生します 夏日 出力されない None 11. 次のコードについて、正しい出力を選んでください。 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 12. 次のコードの出力結果を選んでください。 # パッケージ構造:# 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 13. 次のコードについて、HTTPヘッダーの取得方法として正しいものを選んでください。 import urllib.requestresponse = urllib.request.urlopen("https://www.example.com")print(response.getheaders()) HTTPリクエストヘッダーを取得する HTTPレスポンスヘッダーをリストとして取得する HTTPレスポンスボディを取得する URL全体を文字列として返す None 14. 次のコードについて、テストスキップの用途として正しい説明を選んでください。 import unittestclass TestExample(unittest.TestCase):@unittest.skip("Not implemented yet")def test_case(self):self.assertTrue(True) テストの結果を保存する テストが失敗した場合にスキップする テストが成功した場合にスキップする 実行したくないテストを一時的にスキップする None 15. 次のコードを実行した場合の出力として正しいものを選んでください。 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 16. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 17. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 18. 次のコードを実行した場合の出力として正しいものを選んでください。 import unittestclass TestExample(unittest.TestCase):def test_exception(self):with self.assertRaises(ZeroDivisionError):result = 1 / 0if __name__ == "__main__":unittest.main() テストが失敗する テストが成功する エラーが発生する 何も出力されない None 19. 変数tempが25度以上なら「暑いです」、そうでなければ「快適です」と表示する条件式はどれでしょうか? print("暑いです" if temp > 25 else "快適です") print("快適です" if temp >= 25 else "暑いです") print("快適です" if temp > 25 else "暑いです") print("暑いです" if temp >= 25 else "快適です") None 20. 変数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 21. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 22. 次のコードについて、出力結果として正しいものを選んでください。 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 23. 次のコードを実行したときの出力結果は何でしょうか? day = "Sunday"result = "Weekday" if day in ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] else "Weekend"print(result) Weekday Weekend エラーが発生します 出力されない None 24. 次のコードについて、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 25. 次のコードを実行したときの出力結果は何でしょうか? value = 0result = "非ゼロ" if value else "ゼロ"print(result) 非ゼロ ゼロ エラーが発生します 出力されない None 26. 次のコードで、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 27. 次のコードを実行したときの出力結果は何でしょうか? a, b = 7, 7result = "等しい" if a == b else "異なる"print(result) 等しい 異なる エラーが発生します 出力されない None 28. 次のコードを実行したときの出力結果は何でしょうか? score = 70result = "合格" if score >= 60 else "不合格"print(result) 不合格 エラーが発生します 出力されない 合格 None 29. 次のコードにおいて、相対インポートを使用して同じディレクトリ内の別モジュールをインポートする正しい方法を選んでください。 # パッケージ構造:# 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 30. 次のコードを実行した場合の出力として正しいものを選んでください。 import urllib.parseimport urllib.requesturl = "https://www.example.com/api"params = {"key1": "value1", "key2": "value2"}query_string = urllib.parse.urlencode(params)full_url = f"{url}?{query_string}"response = urllib.request.urlopen(full_url)print(full_url) https://www.example.com/api?key1=value1&key2=value2 https://www.example.com/api?key1=value1,key2=value2 https://www.example.com/api?key1,value1&key2,value2 エラーが発生する None 31. 次のコードを実行した場合の結果として正しいものを選んでください。 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 32. 次のコードにおいて、相対インポートを使用して親パッケージ内のモジュールをインポートする正しい方法を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── module1.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# module2.py から module1 をインポートする from .. import module1 import module1 from package import module1 from . import module1 None 33. 次のコードで、相対インポートを使用して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 34. 次のコードの実行結果を選んでください。 # パッケージ構造:# 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 35. Pythonで単体テストを記述するために使用される標準ライブラリとして正しいものを選んでください。 unittest pytest mock testlib None 36. 次のコードについて、クエリパラメータを解析するための正しい関数を選んでください。 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 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. 次のコードの出力結果を選んでください。 # パッケージ構造:# 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 39. 次のコードの実行結果を選んでください。 # パッケージ構造:# package/# ├── __init__.py# ├── subpackage/# │ ├── __init__.py# │ ├── module2.py# │ ├── module3.py# module2.pyfrom . import module3print(hasattr(module3, 'greet'))# module3.pydef greet():return "Hello from module3" False True None エラーが発生する None 40. 次の選択肢の中で、Pythonでパッケージを読み込むための正しい方法を選んでください。 import package_name load package_name include package_name require package_name None Time's up