0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ひとりアドカレ@yshimizuAdvent Calendar 2024

Day 20

Python3エンジニア認定基礎試験向けかもしれない問題集

Last updated at Posted at 2024-12-19

AIを使って問題を作成しています。

Prompt:

Python3エンジニア認定基礎試験に出てきそうな問題を作ってください。

問題1 (ジェネレーター)

次のコードの出力は何ですか?

Python
def generator():
    for i in range(3):
        yield i

g = generator()
print(next(g))
print(next(g))
  1. 0 1
  2. 0 0
  3. 1 2
  4. 0 2
解説

正解:1. 0 1 yield を使ったジェネレーターは、次の要素を返します。next を呼び出すたびに次の値が返されます。

問題2 (リストの内包表記と条件)

次のコードの出力は何ですか?

Python
lst = [x**2 for x in range(6) if x % 2 == 0]
print(lst)
  1. [0, 4, 16, 36]
  2. [0, 1, 4, 9, 16, 25, 36]
  3. [0, 4, 16]
  4. [0, 2, 4, 6, 8, 10]
解説

正解:3. [0, 4, 16] リスト内包表記は、0から5の範囲内の偶数の二乗を生成します。

問題3 (デコレータ)

次のコードの出力は何ですか?

Python
def decorator(func):
    def wrapper():
        print("Before function call")
        func()
        print("After function call")
    return wrapper

@decorator
def say_hello():
    print("Hello!")

say_hello()
  1. Before function call Hello! After function call
  2. Hello! Before function call After function call
  3. Before function call After function call
  4. Error
解説

正解:1. Before function call Hello! After function call デコレータは関数の前後に処理を追加します。

問題4 (関数のネスト)

次のコードの出力は何ですか?

Python
def outer(x):
    def inner(y):
        return x + y
    return inner

f = outer(10)
result = f(5)
print(result)
  1. 5
  2. 10
  3. 15
  4. Error
解説

正解:3. 15 内部関数 inner は外部関数 outer の引数 x にアクセスできます。

問題5 (例外処理とカスタム例外)

次のコードの出力は何ですか?

Python
class MyException(Exception):
    pass

try:
    raise MyException("An error occurred")
except MyException as e:
    print(e)
  1. An error occurred
  2. MyException
  3. Exception
  4. Error
解説

正解:1. An error occurred カスタム例外 MyException が発生し、そのメッセージが表示されます。

問題6 (ジェネレーターの理解)

次のコードの出力は何ですか?

Python
def countdown(n):
    while n > 0:
        yield n
        n -= 1

for num in countdown(3):
    print(num, end=' ')
  1. 3 2 1
  2. 1 2 3
  3. 3 2
  4. 2 1
解説

正解:1. 3 2 1 ジェネレーター countdown はカウントダウンの各値を生成します。

問題7 (ラムダ関数とソート)

次のコードの出力は何ですか?

Python
lst = [(1, 'one'), (2, 'two'), (3, 'three')]
lst.sort(key=lambda x: x[1])
print(lst)
  1. [(1, 'one'), (2, 'two'), (3, 'three')]
  2. [(3, 'three'), (1, 'one'), (2, 'two')]
  3. [(1, 'one'), (3, 'three'), (2, 'two')]
  4. [(2, 'two'), (1, 'one'), (3, 'three')]
解説

正解:3. [(1, 'one'), (3, 'three'), (2, 'two')] sort メソッドはラムダ関数を使ってタプルの第二要素でソートします。

問題8 (クラスと静的メソッド)

次のコードの出力は何ですか?

Python
class MyClass:
    @staticmethod
    def greet():
        return "Hello, World!"

print(MyClass.greet())
  1. Hello, World!
  2. None
  3. Error
  4. Hello
解説

正解:1. Hello, World! 静的メソッド greet はクラスから直接呼び出せます。

問題9 (ファイル操作と例外処理)

次のコードを実行した場合、存在しないファイルを開こうとすると、どの例外が発生しますか?

Python
try:
    with open("non_existent_file.txt", "r") as f:
        content = f.read()
except Exception as e:
    print(type(e))
  1. <class 'FileNotFoundError'>
  2. <class 'ValueError'>
  3. <class 'TypeError'>
  4. <class 'KeyError'>
解説

正解:1. <class 'FileNotFoundError'> 存在しないファイルを開こうとすると FileNotFoundError が発生します。

問題10 (クラスとプロパティ)

次のコードの出力は何ですか?

Python
class MyClass:
    def __init__(self, value):
        self._value = value
    
    @property
    def value(self):
        return self._value

obj = MyClass(10)
print(obj.value)
  1. 10
  2. None
  3. Error
  4. value
解説

正解:1. 10 プロパティ value は _value 属性の値を返します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?