Pythonで押さえる基礎文法
Pythonは読みやすい文法ですが、共通テスト形式では「コードを実行したらどうなるか」を正確に追う力が必要です。
配列(リスト)と添字
Pythonでは、複数の値をまとめるものとしてリストを使います。例えば nums = [3, 8, 5] のように書き、最初の値は nums[0]、2番目の値は nums[1] で取り出します。添字が0から始まる点は、情報Ⅰの問題で特に間違えやすい部分です。
「3番目の値」と「添字3」は同じではありません。3番目の値は添字2です。実行結果を選ぶ問題では、まず配列の各位置を書き出してから考えると、取り違えを防ぎやすくなります。
条件分岐の読み方
if は、条件を満たすときだけ内側の処理を実行します。例えば if score >= 60: は、score が60以上のときにだけ実行されます。比較演算子の向き、等しい場合を含むかどうか、複数条件を同時に満たすかがポイントです。
問題を解くときは、条件式を日本語に直すと理解しやすくなります。n % 2 == 0 なら「nを2で割った余りが0」、つまり偶数です。条件の意味を言葉にできれば、空欄補充や正誤判定の問題にも対応しやすくなります。
繰り返しとrange
Pythonの range(5) は 0, 1, 2, 3, 4 を順に作ります。5は含まれません。range(1, 5) は 1, 2, 3, 4 です。共通テストでは、繰り返し回数や変数の最終値を問う問題がよく出ます。
繰り返し問題では、最初から最後まで頭の中だけで追うより、i の値、条件判定、更新される変数を表にすると安定します。特に、合計を入れる total、個数を数える count、最大値を保存する best のような変数は、1回の繰り返しごとにどう変わるかを確認しましょう。
よく出る処理パターン
情報Ⅰでは、配列の合計、条件を満たす個数、最大値の更新、線形探索が頻出です。例えば最大値を求める処理では、最初に仮の最大値を置き、より大きい値が見つかったら更新します。探索では、目的の値を見つけたときに位置を保存したり、処理を止めたりします。
これらは暗記項目ではなく、考え方の型です。変数名や題材が変わっても「何を保存している変数か」「どの条件で更新するか」を見れば、同じ型として読めるようになります。
range の3つの書き方
Python でもっとも間違えやすいのが range です。
終わりの値は含まれません。3つの形を表で覚えてしまうのが早道です。
| 書き方 | i がとる値 | 回数 |
|---|---|---|
| range(5) | 0, 1, 2, 3, 4 | 5回 |
| range(1, 5) | 1, 2, 3, 4 | 4回 |
| range(0, 10, 2) | 0, 2, 4, 6, 8 | 5回 |
| range(len(nums)) | 0 〜 要素数-1 | 要素数と同じ |
共通テスト用プログラム表記の「0 から 4 まで」は5を含まない range(5) と同じです。 擬似言語では終わりの値を書き、Python では「その手前まで」を書く—— 同じ範囲でも数字の書き方が違う点に注意してください。
コード例と実行結果
頻出の4つの処理を、実際のコードと出力で確認します。どれも形が決まっています。
合計を求める
nums = [3, 8, 5]
total = 0
for i in range(len(nums)):
total = total + nums[i]
print(total) # 16
条件を満たす個数を数える
nums = [1, 4, 6, 7, 10]
count = 0
for i in range(len(nums)):
if nums[i] % 2 == 0:
count = count + 1
print(count) # 3(偶数は 4, 6, 10)
最大値を求める
nums = [4, 9, 2, 7]
mx = nums[0]
for i in range(len(nums)):
if nums[i] > mx:
mx = nums[i]
print(mx) # 9
目的の値を探す
nums = [3, 8, 1, 5]
target = 1
pos = -1
for i in range(len(nums)):
if nums[i] == target and pos == -1:
pos = i
print(pos) # 2(見つからなければ -1 のまま)
4つとも「箱を用意 → 繰り返しの中で更新 → 最後に使う」という同じ形です。 変わるのは初期値と更新の条件だけです。この型の詳しい解説は 集計する処理の読み方と 最大値を探す・値を探すにあります。
Python特有のつまずき
| つまずき | 内容 |
|---|---|
| / と // | 7 / 2 は 3.5、7 // 2 は 3。添字の計算には // を使う |
| インデント | 字下げが処理のまとまりを表す。ずれると if や for の外に出てしまう |
| = と == | = は代入、== は比較。条件式に = は書けない |
| len() の位置 | len(nums) は要素数。最後の添字は len(nums) - 1 |
| and / or | 「かつ」は and、「または」は or。記号(&&)は使わない |
なかでも インデントは、共通テスト形式の問題でも意味を持ちます。
count = count + 1 が if の内側にあるか外側にあるかで、
「条件を満たした回数」か「繰り返した回数」かが変わります。
字下げの位置は必ず確認してください。