出題範囲(5分野)
- Control Flow89問
- Data Structures89問
- Functions & Exceptions89問
- OOP & Modules90問
- Python Fundamentals90問
PCAP – Certified Associate in Python Programmingの例題(6問・解説つき)
スキルサートのAIが出題範囲に沿って作成した演習問題です(過去問ではありません)。アプリでは毎週新しい問題が追加されます。
例題1Control Flow
Pythonのループ制御における else 句の動作について、正しい説明はどれか。
- while ループが break 文によって中断された場合にのみ実行される。
- while ループの条件式が最初に判定された時点で False であっても実行される。
- for ループ内で例外が発生し、プログラムが異常終了した際に実行される。
- continue 文が実行されるたびに、その回の反復の終わりに実行される。
- else 句は if 文にのみ付随するものであり、ループ構造で使用すると構文エラーになる。
解答と解説を見る
正解: while ループの条件式が最初に判定された時点で False であっても実行される。
正解は「while ループの条件式が最初に判定された時点で False であっても実行される。」です。Pythonのループ(forおよびwhile)における else 句は、ループが break 文によって途中で終了することなく、反復が正常に完了した(条件が False になった、またはイテレータを使い切った)場合に実行されます。そのため、最初から条件を満たさない場合でも、ループが中断されたわけではないため else ブロックが実行されます。
例題2Data Structures
次のPythonコードを実行した際の出力結果として正しいものはどれか。
my_list = [10, 20, 30]
my_list.insert(-1, 40)
print(my_list)
- [10, 20, 40, 30]
- [10, 40, 20, 30]
- [40, 10, 20, 30]
- [10, 20, 30, 40]
- IndexErrorが発生する
解答と解説を見る
正解: [10, 20, 40, 30]
Pythonのリストにおける insert(index, object) メソッドは、指定したインデックスの直前に要素を挿入します。インデックスに -1 を指定した場合、それはリストの末尾から数えて1番目の要素(この場合は 30)を指します。したがって、40 は 30 の直前に挿入されるため、結果は [10, 20, 40, 30] となります。末尾に要素を追加したい場合は append() メソッドを使用するか、インデックスにリストの長さを指定する必要があります。正解は「[10, 20, 40, 30]」です。
例題3Functions & Exceptions
次のPythonコードを実行した際に出力される結果として、正しいものはどれか。
```python
def proc(x):
global y
y = x + y
return y
y = 10
proc(5)
print(y)
```
- 10
- 15
- エラー(NameError)
- None
- 5
解答と解説を見る
正解: 15
globalキーワードを使用すると、関数内部からローカルスコープではなく、関数外(モジュールレベル)のグローバル変数を直接参照および更新できるようになります。このプログラムの流れでは、まずグローバル変数 y に 10 が代入されます。その後 proc(5) が呼び出され、関数内で global y が宣言されているため、y = 5 + 10 が実行され、グローバルな y 自体が 15 に書き換えられます。そのため、最終的な出力結果は 15 となります。正解は「15」です。
例題4OOP & Modules
Pythonのmathモジュールにおいて、引数として与えられた数値以上の最小の整数(天井関数)を返す関数はどれか。
- math.ceil(x)
- math.sqrt(x)
- math.floor(x)
- math.trunc(x)
- math.fabs(x)
解答と解説を見る
正解: math.ceil(x)
正解は「math.ceil(x)」です。Pythonのmathモジュールにおいて、ceil()関数は引数として与えられた数値以上の最小の整数(天井関数)を返します。例えば、math.ceil(3.1)は4を返し、math.ceil(-3.1)は-3を返します。一方、math.floor()は数値以下の最大の整数を返し、math.trunc()は単に小数点以下を切り捨てて整数部のみを返します。PCAP試験では、こうした標準ライブラリの基本的な数値操作関数の挙動を正しく区別できることが求められます。
例題5Python Fundamentals
Pythonにおいて、変数名(識別子)として使用可能なものはどれですか?
- user$id
- yield
- total-amount
- 2nd_result
- _user_name
解答と解説を見る
正解: _user_name
正解は「_user_name」です。Pythonの識別子(変数名など)は、英文字(大文字・小文字)またはアンダースコア(_)で始まる必要があり、数字で始めることはできません。また、ハイフン(-)やドル記号($)などの特殊記号は使用できません。さらに、「yield」はPythonの予約語(キーワード)であるため、そのままの形で変数名として定義することは禁止されています。アンダースコアで始まる名前は、内部的な利用を示す慣習としてもしばしば用いられます。
例題6Control Flow
Pythonの制御フロー(if, for, while)に関する記述のうち、誤っているものはどれか。
- break 文は、現在実行されている最も内側のループを即座に終了させる。
- if 文の elif 節は、先行する if または elif の条件がすべて False だった場合にのみ評価される。
- break 文によってループを抜けた場合、そのループに付随する else ブロックも実行される。
- range(start, stop, step) 関数において、step に負の値を指定して逆順のループを作ることができる。
- continue 文は、現在の反復の残りの処理をスキップし、次の反復の判定へ移る。
解答と解説を見る
正解: break 文によってループを抜けた場合、そのループに付随する else ブロックも実行される。
正解は「break 文によってループを抜けた場合、そのループに付随する else ブロックも実行される。」です。これが誤っている理由は、Pythonの仕様において else ブロックは「ループが break 文によって終了しなかった場合」にのみ実行されるからです。break 文が実行されると、else ブロックはスキップされます。他の選択肢はすべてPythonの制御フローに関する正確な記述です。
PCAP – Certified Associate in Python Programmingの重要用語
- if文
- 条件式を評価し、結果が真(True)である場合にのみ特定のブロックを実行する制御構文です。elifを追加することで複数の条件を順に判定し、いずれの条件も満たさない場合はelseブロックを実行します。Pythonではインデントによってブロックの範囲が決まるため、試験では正しい字下げや論理式の優先順位、比較演算子の使い方が重要視されます。
- リスト (List)
- 複数の要素を順序付けて管理するデータ構造で、角括弧[]を使用して定義します。ミュータブル(変更可能)な性質を持ち、要素の追加、削除、変更が自由に行えます。Pythonにおいて最も頻繁に使用されるコンテナの一つであり、異なるデータ型の要素を混在させることも可能です。試験では、appendやpop、insertなどのメソッドの挙動が非常によく問われます。
- defキーワード
- Pythonで関数を定義するためのキーワードです。関数名、引数、コロンを記述し、その後のインデントブロックに処理を書きます。関数はコードの再利用性を高め、プログラムを論理的な単位に分割する役割を持ちます。試験では、定義時の構文ルールやインデントの重要性、関数呼び出しの基本について正確な理解が求められます。
- モジュール
- Pythonのプログラムを構成する単位で、関数、クラス、変数をまとめたファイルのことです。拡張子は「.py」となります。「import」文を使用して他のプログラムから呼び出すことで、コードの再利用性を高め、プログラムの構造を整理する役割を果たします。標準ライブラリや外部ライブラリもこの形式で提供されており、効率的な開発に不可欠です。
- IDLE (Integrated Development and Learning Environment)
- Pythonに標準で付属している統合開発環境です。コードの記述、実行、デバッグを一つのソフトウェア上で行うことができます。特に対話型シェルを使用することで、一行ずつコードを実行して結果を即座に確認できるため、初学者にとって非常に便利なツールです。試験では、Pythonの公式な開発支援ツールとしての役割を理解しておく必要があります。
- while文
- 指定された条件式が真(True)である間、ブロック内のコードを繰り返し実行し続けるループ構造です。反復ごとに条件が再評価され、偽(False)になった時点でループを抜けます。意図しない無限ループを避けるため、ループ内で条件に影響を与える変数を適切に更新する必要があります。また、ループが正常に終了した際に実行されるelseブロックを伴うこともあります。
- タプル (Tuple)
- リストに似ていますが、丸括弧()を使用して定義され、一度作成すると内容を変更できないイミュータブル(不変)な性質を持ちます。データの書き換えを防ぎ、安全性を高めたい場合や、辞書のキーとして利用したい場合に適しています。要素の順序は保持されますが、要素の変更や削除を行うメソッドは提供されていません。試験ではリストとの性質の違いが重要視されます。
- return文
- 関数の実行を終了させ、呼び出し元に結果を戻すための文です。戻り値を指定しない場合や文自体を省略した場合は、暗黙的にNoneが返されます。一つの関数で複数の値をカンマ区切りで返すことも可能で、その場合はタプルとして扱われます。プログラムの計算結果を後続の処理に繋ぐための、関数における出口の役割を果たします。
よくある質問
- PCAP – Certified Associate in Python Programmingの問題はスキルサートで何問解けますか?
- 全447問・5分野の問題を用意しています。問題は出題範囲に沿って随時追加しています。
- 無料で使えますか?
- 無料プランで週10回の演習(1回10問)と、毎日の「今日の1問」を利用できます。解説を読み、わからない点はAIに質問できます。
- ここの問題は過去問ですか?
- 過去問ではありません。出題範囲に沿ってAIが作成した演習問題です。すべて解説つきで、間違えた問題は繰り返し解けます。
PCAP – Certified Associate in Python Programmingの対策はアプリで
AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。