AI資格ドリル
資格を選ぶ↓

Python3エンジニア認定基礎試験 第3章 気楽な入門編 予想問題と解説

Python3エンジニア認定基礎試験「第3章 気楽な入門編」の予想問題を29問収録しています。各問を解説つきで掲載し、全問は演習画面で解けます。出題は公式シラバスの範囲内です。

この章の要点

数と算術演算子、文字列、プログラミングへの第一歩、リスト型の基本などを扱う分野です。全29問(基礎15問・標準13問・応用1問)を収録しています。

  • 数と算術演算子
  • 文字列
  • プログラミングへの第一歩
  • リスト型の基本

情報源と編集区分

公式範囲を確認し、問題数・難易度・確認点は当サイトが集計・編集。 一次情報確認日: 2026-09-18。

試験概要(公式)

確認しておきたいポイント

当サイトの作問時に観察した、取り違えやすい論点です(公式の統計ではありません)。

  • 除算 / と切り捨て除算 // の取り違え。/ は割り切れる場合でも常に浮動小数点数を返し、整数の商が欲しいときは // を使う。
  • 負のインデックスとスライスの範囲。-1 が最後の文字で、スライスの終了位置を省略すると末尾までになる。
  • リストが可変であることの扱い。代入してもコピーは作られず、同じリストを指す名前が増えるだけになる。
  • 文字列とリストの変更可否の取り違え。公式チュートリアルは「Python の文字列は変更できません -- つまり不変です」と述べており、文字列のインデックスで指定した場所へ代入するとエラーになる。同じ書き方でも、リストは可変なので代入できる。どちらの型の話かを先に見る。
  • 隣り合った文字列リテラルの自動連結を、変数にも使えると思い込むこと。公式チュートリアルは「連続して並んでいる複数の文字列リテラルは、自動的に連結されます」としたうえで、「これは 2 つのリテラルどうしに対してのみ働き、変数や式には働きません」と述べている。変数と連結するときは + を使う。
  • 複数行の文字列での改行の扱い。三連引用符では改行文字が自動的に文字列に含まれ、行末に \ を付けるとその改行を含めないようにできる。見た目の行数と文字列の中身は一致しない。
  • 対話モードの変数 _ の扱い。公式チュートリアルは「対話モードでは、最後に表示された結果は変数 _ に代入されます」と述べている。スクリプトの中で自分が定義した変数とは別物として読む。
  • スライスの省略時の既定値。公式チュートリアルは「最初のインデックスを省略すると、0 と見なされます。二番めのインデックスを省略すると、スライスする文字列のサイズとみなされます」と述べ、あわせて「開始値は常に含まれ、終了値は常に含まれない」ため「s[:i] + s[i:] は常に s と等しくなります」と述べている。前半と後半に分けたつもりが重なる、欠ける、といった取り違えはここで防げる。

この章の関連用語

この分野の問題で扱う用語です。意味があいまいなものは、用語集で定義を確認できます。

この章に関連する比較記事

混同しやすい2つの概念を並べて整理した記事です。

よくある質問

Q第3章 気楽な入門編は何問収録されていますか?

A

現在29問を収録しています。内訳は基礎15問・標準13問・応用1問です。

Q第3章 気楽な入門編の頻出論点は何ですか?

A

数と算術演算子、文字列、プログラミングへの第一歩、リスト型の基本などが出題対象です(当サイト収録問題に基づく編集部集計)。

Q間違えた問題はどう復習すればいいですか?

A

誤答した選択肢のどこがずれていたかを解説で確認し、関連用語がある場合は用語集で定義に戻ってから再演習することをおすすめします。

第1問 ・ 数と算術演算子

Python 3 で 7 / 2 を評価した結果の型と値はどれか。

  • アfloat の 3.5
  • イint の 3
  • ウint の 4
  • エfloat の 3.0
答えと解説を見る
アfloat の 3.5正解
解説

正解は「float の 3.5」である。公式チュートリアルは除算演算子 / について「常に浮動小数点数を返す」と記しており、割り切れる場合でも結果は float になる。整数の商だけを得たい場合は切り捨て除算の // を使い、7 // 2 は int の 3 になる。int の 4 になる演算子は用意されておらず、round() で丸める場合も / の結果を丸める手順が別に必要になる。float の 3.0 は値が誤りで、7 / 2 の商は 3.5 である。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)

問題番号: py3b-003
問題番号 py3b-003 の誤りを報告する
第2問 ・ 文字列

word = 'Python' のとき、word[-2:] の結果はどれか。

  • ア'no'
  • イ'on'
  • ウ'n'
  • エ'Pyth'
答えと解説を見る
イ'on'正解
解説

正解は「'on'」である。負のインデックスは末尾から数える指定で、-1 が最後の文字、-2 が後ろから2番目の文字を指す。スライス word[-2:] は開始位置を後ろから2番目、終了位置を省略して末尾までとするため、後ろ2文字の 'on' が得られる。'no' は 'on' を逆順にした文字列で、スライスは元の順序のまま取り出すため、この結果にはならない。'n' は最後の1文字だけを取る word[-1:] や word[-1] の結果である。'Pyth' は word[:4] や word[:-2] の結果で、後ろを切り落とす指定になる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)

問題番号: py3b-004
問題番号 py3b-004 の誤りを報告する
第3問 ・ 文字列

バックスラッシュをそのままの文字として扱いたいとき、用いる書き方はどれか。

  • ア三連引用符
  • イシングルクォート
  • ウraw文字列
  • エ文字列の反復
答えと解説を見る
ウraw文字列正解
解説

正解は「raw文字列」である。raw文字列は引用符の前に r を付ける書き方で、バックスラッシュをエスケープの開始として扱わず、そのままの文字として残す。三連引用符は複数行にわたる文字列を書くための書き方で、改行をそのまま含められるがバックスラッシュの扱いは変わらない。シングルクォートは通常の文字列の囲み方の一つで、エスケープは働く。文字列の反復は同じ文字列を繰り返して連ねる演算で、書き方の話ではない。三連引用符は引用符を三つ重ねて書く書き方で、改行文字をそのまま文字列に含められるが、行末にバックスラッシュを置くとその改行を含めないようにすることもでき、これは raw文字列とは別の目的でバックスラッシュを使う例である。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)

問題番号: py3b-017
問題番号 py3b-017 の誤りを報告する
第4問 ・ プログラミングへの第一歩

Python でブロックの範囲を示すものはどれか。

  • ア波かっこ
  • イbegin と end
  • ウセミコロン
  • エインデント
答えと解説を見る
エインデント正解
解説

正解は「インデント」である。Python はブロックの範囲を字下げで示し、同じ深さに揃えた行が1つのブロックになる。波かっこや begin と end でブロックを囲む言語もあるが、Python の構文ではブロックの範囲を示す記号として使わない。セミコロンは文の区切りに使える記号で、ブロックの範囲を示すものではない。波かっこや begin と end を使う言語では、字下げは読みやすさのための見た目の工夫にとどまり、深さを変えても動作は変わらないことが多い。これに対して Python では字下げの深さそのものがブロックの範囲を決める構文の一部になっており、深さがずれると意図したブロックの範囲が変わってしまう。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)

問題番号: py3b-018
問題番号 py3b-018 の誤りを報告する
第5問 ・ リスト型の基本

リストを別の名前に代入したあと、片方に要素を足すともう片方も変わった。理由として正しいものはどれか。

  • ア代入はコピーを作らず、同じリストを指す名前が増えるだけだから
  • イリストは不変なので、足した時点で新しいリストに差し替わるから
  • ウ代入のときに浅いコピーが作られ、要素だけが共有されるから
  • エリストの長さが同じ場合にかぎり、中身が同期されるから
答えと解説を見る
ア代入はコピーを作らず、同じリストを指す名前が増えるだけだから正解
解説

正解は「代入はコピーを作らず、同じリストを指す名前が増えるだけだから」である。リストは可変で、代入しても新しいリストは作られないため、2つの名前が同じリストを指す。片方から要素を足せば、もう片方から見ても同じリストなので変化が見える。リストは不変ではないので差し替わるという説明は誤りである。浅いコピーは copy メソッドなどで明示的に作るもので、代入のときに自動で作られるわけではない。長さによって同期が変わる仕組みも無い。同じオブジェクトを指しているかどうかは id() で確かめることができ、代入した直後は元の名前と新しい名前の id() が一致する点からも、別々のリストではなく同じリストを共有していることが分かる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)

問題番号: py3b-024
問題番号 py3b-024 の誤りを報告する
第6問 ・ 数と算術演算子

2 ** 3 の結果はどれか。

  • ア6
  • イ8
  • ウ5
  • エ9
答えと解説を見る
イ8正解
解説

正解は「8」である。** は冪乗を表す演算子で、2 ** 3 は左の 2 を底、右の 3 を指数として 2 の 3 乗を計算し、8 になる。判断の手順としては、まず演算子が乗算の * か冪乗の ** かを見分け、** であれば左が底、右が指数であると確認したうえで累乗の計算を行う。6 は 2 * 3 の結果であり、乗算と冪乗を取り違えて計算した場合に出てくる値である。5 は 2 + 3 の結果で、加算と冪乗を取り違えている。9 は 3 ** 2 の結果であり、底と指数を逆にして計算した場合の値になる。int どうしの演算なので、結果も int の 8 になる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)

問題番号: py3b-025
問題番号 py3b-025 の誤りを報告する
第7問 ・ 数と算術演算子

int と float に加えて、Python の公式チュートリアルが「他の数値型」として名前を挙げているものの組み合わせはどれか。

  • アlist と tuple
  • イstr と bytes
  • ウDecimal と Fraction
  • エset と frozenset
答えと解説を見る
ウDecimal と Fraction正解
解説

正解は「Decimal と Fraction」である。公式チュートリアルは、Python を電卓として使う場面の説明の中で「int と float に加え、Python は Decimal や Fraction などの他の数値型もサポートしています」と述べており、int・float以外の数値型としてDecimalとFractionの名前を明示している。list と tuple はいずれも複数の値をまとめて扱うためのシーケンス型であり、数値そのものを表す型ではない。str と bytes はテキストやバイト列を表す型であり、数値型の説明とは別の文脈で扱われる。set と frozenset は重複のない要素の集合を表す型であり、これも数値型ではない。いずれの組み合わせも、公式チュートリアルがint・floatに加えて挙げている「他の数値型」には当たらない。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-26確認)

問題番号: py3b-101
問題番号 py3b-101 の誤りを報告する
第8問 ・ プログラミングへの第一歩

Python の標準的な比較演算子のうち、「より大きいか等しい(以上)」を表すものはどれか。

  • ア!=
  • イ<=
  • ウ==
  • エ>=
答えと解説を見る
エ>=正解
解説

正解は「>=」である。公式チュートリアルは、while文の条件式の説明の中で「標準的な比較演算子はC言語と同様です:すなわち、< (より小さい)、> (より大きい)、== (等しい)、<= (より小さいか等しい)、>= (より大きいか等しい)、および != (等しくない)、です」と述べている。「より大きいか等しい」すなわち「以上」を表す演算子は>=であり、<=は逆に「より小さいか等しい」すなわち「以下」を表す。==は等しいかどうかを判定する演算子であり大小関係は表さない。!=は等しくないことを判定する演算子であり、これも大小関係そのものは表さない。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-26確認)

問題番号: py3b-102
問題番号 py3b-102 の誤りを報告する
第9問 ・ プログラミングへの第一歩

print(a, end=',') のように end キーワード引数を指定すると、公式チュートリアルによれば print() の出力はどう変わるか。

  • ア出力の末尾に改行文字を出力する代わりに、指定した文字列を出力するようになる
  • イprint() の戻り値が文字列型から None 以外の型に変わる
  • ウprint() に渡せる引数の個数の上限が変わる
  • エ呼び出しごとに改行を2回出力するようになる
答えと解説を見る
ア出力の末尾に改行文字を出力する代わりに、指定した文字列を出力するようになる正解
解説

正解は「出力の末尾に改行文字を出力する代わりに、指定した文字列を出力するようになる」である。公式チュートリアルは「キーワード引数 end を使うと、出力の末尾に改行文字を出力しないようにしたり、別の文字列を末尾に出力したりできます」と述べ、while文でprint(a, end=',')を繰り返し呼び出す例を示し、各回の出力がカンマで区切られて1行に並ぶ結果を掲載している。print()の戻り値はもともとNoneであり、endを指定しても戻り値の型は変わらない。endは引数の個数の上限を変えるものではなく、末尾に出す文字列を変えるだけの仕組みである。改行を2回出力するような動作も、公式チュートリアルの説明には含まれていない。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-26確認)

問題番号: py3b-103
問題番号 py3b-103 の誤りを報告する
第10問 ・ リスト型の基本

letters = ['a','b','c','d','e','f','g'] に対して letters[2:5] = ['C','D'] を実行すると、letters はどうなるか。

  • ア['a','b','C','D','e','f','g'] になり、要素数は7のまま変わらない
  • イ['a','b','C','D','f','g'] になり、要素数が7から6に変わる
  • ウletters[2:5] の位置にエラーが発生し、代入前の要素数と一致しないため実行できない
  • エ元のリストlettersは変わらず、['a','b','C','D','f','g']という新しいリストが戻り値として得られる
答えと解説を見る
イ['a','b','C','D','f','g'] になり、要素数が7から6に変わる正解
解説

正解は「['a','b','C','D','f','g'] になり、要素数が7から6に変わる」である。letters[2:5]はインデックス2・3・4の3要素('c','d','e')を指すスライスであり、これに['C','D']という2要素のリストを代入すると、その3要素が丸ごと2要素に置き換わる。公式チュートリアルは「スライスには、代入もできます。スライスの代入で、リストのサイズを変更したり、全てを削除したりもできます」と述べており、代入する要素数が元のスライスの要素数と異なっていてもよく、要素数自体が変化することを認めている。置き換え後のlettersは先頭の'a','b'、置き換わった'C','D'、末尾に残る'f','g'を合わせた6要素になる。エラーになるという説明は誤りで、要素数が一致しなくてもスライス代入は実行できる。また、この操作は元のリストletters自体を書き換える破壊的な操作であり、新しいリストを戻り値として返すだけで元のリストが変わらないという説明も誤りである。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-26確認)

問題番号: py3b-104
問題番号 py3b-104 の誤りを報告する
第11問 ・ 数と算術演算子

Python 3 で 17 % 3 を評価した結果はどれか。

  • ア2
  • イ5
  • ウ5.666666666666667
  • エ0
答えと解説を見る
ア2正解
解説

正解は「2」である。公式チュートリアルは「剰余は、% で求めます」と記しており、17 % 3 は 17 を 3 で割った余りの 2 を返す。同じ箇所では 17 // 3 が小数部を破棄した整数除算で 5 になる例、17 / 3 が浮動小数点数の 5.666666666666667 になる例も並べられている。また 5 * 3 + 2 が 17 に戻る例で、切り捨てられた商と除数の積に剰余を足すと元の数になる関係が示されている。0 になるのは割り切れる場合だけで、17 は 3 で割り切れない。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-138
問題番号 py3b-138 の誤りを報告する
第12問 ・ 数と算術演算子

対話モードで tax = 12.5 / 100、price = 100.50 と代入し、price * tax を評価すると 12.5625 と表示された。続けて price + _ を評価したときの結果として正しいものはどれか。

  • アNameError になる
  • イ113.0625
  • ウ100.50
  • エ12.5625
答えと解説を見る
イ113.0625正解
解説

正解は「113.0625」である。公式チュートリアルは「対話モードでは、最後に表示された結果は変数 _ に代入されます」と記している。直前に表示された結果は price * tax の 12.5625 なので、price + _ は 100.50 + 12.5625 の 113.0625 になる。代入文は結果を表示しないため、tax や price の代入は _ の値を変えない。チュートリアルは同じ例で round(_, 2) を続けて 113.06 を得ており、電卓のように計算を続けられる。なお _ には読み取りだけを行い、明示的に代入してはいけないとも注意している。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-139
問題番号 py3b-139 の誤りを報告する
第13問 ・ 数と算術演算子

Python の公式チュートリアルによると、複素数の虚部を示すために数値に付ける接尾辞はどれか。

  • アi または I
  • イc または C
  • ウj または J
  • エe または E
答えと解説を見る
ウj または J正解
解説

正解は「j または J」である。公式チュートリアルは、複素数も組み込み型としてサポートしており、「j もしくは J 接尾辞を使って虚部を示します」と記し、例として 3+5j を挙げている。数学の教科書で虚数単位に使う i は、Python の複素数リテラルの接尾辞ではない。c は複素数を連想させる文字だが接尾辞としては使われない。同じ箇所では int と float に加えて Decimal や Fraction などの他の数値型もサポートしていると述べており、複素数はそれらとは別に組み込み型として紹介されている。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-140
問題番号 py3b-140 の誤りを報告する
第14問 ・ 文字列

word = 'Python' のとき、word[0] = 'J' を実行した結果として正しいものはどれか。

  • アword が 'Jython' になる
  • イword が 'JPython' になる
  • ウword は 'Python' のまま変わらず、エラーも出ない
  • エTypeError が発生する
答えと解説を見る
エTypeError が発生する正解
解説

正解は「TypeError が発生する」である。公式チュートリアルは「Python の文字列は変更できません -- つまり不変です」と記し、文字列のインデックスで指定した場所に代入を行うとエラーになると述べている。例として word[0] = 'J' が TypeError('str' object does not support item assignment)になる様子を示している。'Jython' のような別の文字列が必要なら、'J' + word[1:] のように新しく文字列を作る。これに対してリストは可変なので、インデックスを指定した代入で要素を入れ替えられる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-141
問題番号 py3b-141 の誤りを報告する
第15問 ・ 文字列

prefix = 'Py' のとき、SyntaxError になる式はどれか。

  • アprefix 'thon'
  • イ'Py' 'thon'
  • ウprefix + 'thon'
  • エ('Py' 'thon')
答えと解説を見る
アprefix 'thon'正解
解説

正解は「prefix 'thon'」である。公式チュートリアルは「連続して並んでいる複数の文字列リテラル(つまり、引用符に囲われた文字列)は、自動的に連結されます」と記し、'Py' 'thon' が 'Python' になる例を示している。この機能は長い文字列を丸括弧で囲んで改行したいときに役立つとされる。ただし「これは 2 つのリテラルどうしに対してのみ働き、変数や式には働きません」とあり、変数 prefix の後ろにリテラルを並べると SyntaxError になる。変数とリテラルを連結したいときは prefix + 'thon' のように + を使う。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-142
問題番号 py3b-142 の誤りを報告する
第16問 ・ 文字列

三連引用符で複数行の文字列を書くとき、最初の引用符の直後の行末に \ を付けた。公式チュートリアルによると、この \ の働きはどれか。

  • アその行を文字列から取り除く
  • イその位置の改行文字を文字列に含めないようにする
  • ウその位置に改行文字を 2 つ入れる
  • エ文字列を raw 文字列として扱う
答えと解説を見る
イその位置の改行文字を文字列に含めないようにする正解
解説

正解は「その位置の改行文字を文字列に含めないようにする」である。公式チュートリアルは、文字列リテラルを複数行にまたがって書く方法の 1 つとして三連引用符("""...""" や '''...''')を挙げ、「改行文字は自動的に文字列に含まれますが、行末に \ を付けることで含めないようにすることもできます」と記している。例では print("""\ の直後で改行しており、最初の改行が出力に含まれない。行の内容を消すわけではなく、改行文字だけを含めない働きである。raw 文字列にするには最初の引用符の前に r を付ける。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-143
問題番号 py3b-143 の誤りを報告する
第17問 ・ 文字列

word = 'Python' のとき、word[:2] + word[2:] の結果はどれか。

  • ア'Pytthon'
  • イ'Pyhon'
  • ウ'Python'
  • エ'Py'
答えと解説を見る
ウ'Python'正解
解説

正解は「'Python'」である。公式チュートリアルはスライスについて「開始値は常に含まれ、終了値は常に含まれない」と記し、そのため「s[:i] + s[i:] は常に s と等しくなります」と述べて word[:2] + word[2:] が 'Python' になる例を示している。word[:2] は最初のインデックスが省略されて 0 と見なされるので 'Py'、word[2:] は二番めのインデックスが省略されて文字列のサイズと見なされるので 'thon' になる。インデックス 2 の文字は後ろ側にだけ含まれ、重複も欠落もしない。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-144
問題番号 py3b-144 の誤りを報告する
第18問 ・ 文字列

word = 'Python'(6 文字)のとき、word[42] と word[4:42] を評価した結果の組み合わせとして正しいものはどれか。

  • アどちらも IndexError になる
  • イword[42] は ''、word[4:42] は 'on'
  • ウword[42] は 'n'、word[4:42] は IndexError
  • エword[42] は IndexError、word[4:42] は 'on'
答えと解説を見る
エword[42] は IndexError、word[4:42] は 'on'正解
解説

正解は「word[42] は IndexError、word[4:42] は 'on'」である。公式チュートリアルは「大き過ぎるインデックスを使おうとするとエラーが発生します」と記し、word[42] が IndexError(string index out of range)になる例を示している。一方で「スライスで範囲外のインデックスを使ったときは、上手く対応して扱ってくれます」と述べ、word[4:42] が 'on'、word[42:] が空文字列 '' になる例を挙げている。1 文字を取り出すインデックス指定と部分文字列を取り出すスライスでは、範囲外の扱いが異なる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-145
問題番号 py3b-145 の誤りを報告する
第19問 ・ 文字列

s = 'First line.\nSecond line.' と代入した。対話モードで s をそのまま評価したときと、print(s) を実行したときの表示の違いとして正しいものはどれか。

  • アs は 'First line.\nSecond line.' と \n を含んだまま表示され、print(s) では \n が改行になって 2 行で表示される
  • イどちらも 2 行に分かれて表示される
  • ウs は 2 行で表示され、print(s) では \n がそのまま表示される
  • エどちらも \n がそのまま 1 行で表示される
答えと解説を見る
アs は 'First line.\nSecond line.' と \n を含んだまま表示され、print(s) では \n が改行になって 2 行で表示される正解
解説

正解は「s は 'First line.\nSecond line.' と \n を含んだまま表示され、print(s) では \n が改行になって 2 行で表示される」である。公式チュートリアルは、Python シェルでは文字列を定義するときと出力されるときで見え方が異なることがあると述べ、「print() 関数を使うと、両端のクォートがなくなり、エスケープされた文字や特殊文字が表示されるため、より読みやすい形で出力できます」と記している。例では s をそのまま評価すると 'First line.\nSecond line.' と引用符と \n が付いたまま表示され、print(s) では First line. と Second line. が 2 行に分かれて表示される。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-146
問題番号 py3b-146 の誤りを報告する
第20問 ・ リスト型の基本

cubes = [1, 8, 27, 65, 125] に対して、cubes[3] = 64、cubes.append(216)、cubes.append(7 ** 3) を順に実行した。cubes の内容として正しいものはどれか。

  • アTypeError が発生し、cubes は変わらない
  • イ[1, 8, 27, 64, 125, 216, 343]
  • ウ[1, 8, 27, 65, 125, 216, 343]
  • エ[216, 343, 1, 8, 27, 64, 125]
答えと解説を見る
イ[1, 8, 27, 64, 125, 216, 343]正解
解説

正解は「[1, 8, 27, 64, 125, 216, 343]」である。公式チュートリアルは「不変な文字列とは違って、リストは可変型ですので、要素を入れ替えられます」と記し、cubes[3] = 64 で誤った値 65 を置き換える例を示している。続けて「list.append() メソッドを使って、リストの末尾に新しい要素を追加できます」とあり、cubes.append(216) と cubes.append(7 ** 3) の後に cubes が [1, 8, 27, 64, 125, 216, 343] になる例を挙げている。7 ** 3 は 7 の 3 乗で 343 である。文字列と違い、インデックスへの代入でエラーにはならない。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)

問題番号: py3b-147
問題番号 py3b-147 の誤りを報告する
第21問 ・ リスト型の基本

rgb = ["Red", "Green", "Blue"] のあとで rgba = rgb と代入した。id(rgb) == id(rgba) を評価した結果と、その理由の組み合わせとして正しいものはどれか。

  • アFalse。代入によりリストの内容が新しいリストにコピーされるから
  • イTrue。単純な代入ではデータをコピーせず、rgba は rgb と同じリストを参照するから
  • ウTrue。ただし rgba.append("Alph") をしても rgb には反映されないから
  • エFalse。id() は文字列の要素にしか使えないから
答えと解説を見る
イTrue。単純な代入ではデータをコピーせず、rgba は rgb と同じリストを参照するから正解
解説

正解は「True。単純な代入ではデータをコピーせず、rgba は rgb と同じリストを参照するから」である。公式チュートリアルは「単純な代入ではPythonは決してデータをコピーしません。リストを変数に代入すると、その変数は既存のリストを参照します」と述べ、rgba = rgb のあと id(rgb) == id(rgba) が True になる例を示している。同じオブジェクトを参照しているので、rgba.append("Alph") のあとで rgb を見ても "Alph" が含まれる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-10-13確認)

問題番号: py3b-202
問題番号 py3b-202 の誤りを報告する
第22問 ・ リスト型の基本

rgba = ["Red", "Green", "Blue", "Alph"] のあとで correct_rgba = rgba[:] と代入し、correct_rgba[-1] = "Alpha" を実行した。rgba と correct_rgba の内容として正しいものはどれか。

  • アrgba も correct_rgba も末尾が "Alpha" になる
  • イrgba は末尾が "Alph" のまま、correct_rgba だけ末尾が "Alpha" になる
  • ウrgba だけ末尾が "Alpha" になり、correct_rgba は "Alph" のままになる
  • エどちらも変わらず、代入は TypeError になる
答えと解説を見る
イrgba は末尾が "Alph" のまま、correct_rgba だけ末尾が "Alpha" になる正解
解説

正解は「rgba は末尾が "Alph" のまま、correct_rgba だけ末尾が "Alpha" になる」である。公式チュートリアルは「全てのスライス操作は、指定された要素を含む新しいリストを返します。例えば、次のスライスは、リストの浅いコピーを返します」と述べ、correct_rgba = rgba[:] の末尾を "Alpha" に変えても元の rgba は ["Red", "Green", "Blue", "Alph"] のままになる例を示している。rgba = rgb のような単純な代入と違い、スライスは新しいリストを作るためである。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-10-13確認)

問題番号: py3b-203
問題番号 py3b-203 の誤りを報告する
第23問 ・ 文字列

word = 'Python' のとき、公式チュートリアルが示す「元の文字列と別の文字列が必要な場合」の書き方 'J' + word[1:] の結果はどれか。

  • ア'Jython'
  • イ'JPython'
  • ウ'Jpython'
  • エTypeError になる
答えと解説を見る
ア'Jython'正解
解説

正解は「'Jython'」である。公式チュートリアルは、文字列は不変でインデックスへの代入ができないため「元の文字列と別の文字列が必要な場合は、新しく文字列を作成してください」と述べ、'J' + word[1:] が 'Jython' になる例を示している。word[1:] は先頭を除いた 'ython' で、これに 'J' を + で連結する。 文字列は不変なので word[0] = 'J' や word[2:] = 'py' のような代入は TypeError になるが、+ による連結は新しい文字列を作るだけなのでエラーにならない。同じ考え方で word[:2] + 'py' は 'Pypy' になる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-10-13確認)

問題番号: py3b-204
問題番号 py3b-204 の誤りを報告する
第24問 ・ 文字列

word = 'Python' のとき、word[-6] を評価した結果はどれか。

  • ア'P'
  • イ'n'
  • ウ'y'
  • エIndexError になる
答えと解説を見る
ア'P'正解
解説

正解は「'P'」である。公式チュートリアルは、負のインデックスは右から数えるとして word[-1] が 'n'、word[-2] が 'o'、word[-6] が 'P' になる例を示している。'Python' は 6 文字なので、-6 は先頭の文字を指す。なお「-0 は 0 と区別できないので、負のインデックスは -1 から始まります」とも述べている。 先頭から数えるインデックスは 0 から始まるのに対し、右から数える負のインデックスは -1 から始まる。そのため 6 文字の文字列では word[0] と word[-6] が同じ先頭の文字を指し、範囲外になるのは word[6] や word[-7] のように文字数を超えた場合である。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-10-13確認)

問題番号: py3b-205
問題番号 py3b-205 の誤りを報告する
第25問 ・ リスト型の基本

squares = [1, 4, 9, 16, 25] のとき、squares + [36, 49, 64, 81, 100] を評価した結果はどれか。

  • ア[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
  • イ[[1, 4, 9, 16, 25], [36, 49, 64, 81, 100]]
  • ウ[37, 53, 73, 97, 125]
  • エTypeError になる
答えと解説を見る
ア[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]正解
解説

正解は「[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]」である。公式チュートリアルは「リストは、リストの連結などもサポートしています」と述べ、この式で要素を並べた 1 本のリストが得られる例を示している。リストを要素にもつリストを作る入れ子とは別の操作である。 結果は元の squares を書き換えたものではなく新しいリストで、要素どうしの足し算や入れ子の形にはならない。リストの末尾に 1 つずつ足す list.append() や、別のリストの要素をまとめて足す list.extend() とは別に、+ 演算子でも連結できる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-10-13確認)

問題番号: py3b-206
問題番号 py3b-206 の誤りを報告する
第26問 ・ リスト型の基本

letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] に対して letters[2:5] = ['C', 'D', 'E'] を実行し、続けて letters[2:5] = []、letters[:] = [] を順に実行した。最後の letters[:] = [] の実行後の letters と、その直前の letters の組み合わせとして正しいものはどれか。

  • ア直前は ['a', 'b', 'f', 'g']、実行後は []
  • イ直前は ['a', 'b', 'C', 'D', 'E', 'f', 'g']、実行後は []
  • ウ直前は ['a', 'b', 'f', 'g']、実行後は ['a', 'b', 'f', 'g'] のまま
  • エ直前は ['a', 'b']、実行後は ['a', 'b']
答えと解説を見る
ア直前は ['a', 'b', 'f', 'g']、実行後は []正解
解説

正解は「直前は ['a', 'b', 'f', 'g']、実行後は []」である。公式チュートリアルは、letters[2:5] = ['C', 'D', 'E'] で一部の値を置き換え、letters[2:5] = [] で一部の値を削除して ['a', 'b', 'f', 'g'] になり、letters[:] = [] で「要素全体を空のリストに置き換えてリストをクリアする」と [] になると示している。 範囲を指定したスライス代入では、右辺の要素数が左辺の範囲と違っていてもリストの長さが変わるだけでエラーにならない。範囲を省略した letters[:] は全要素を指すため、空のリストを代入するとリスト自体はそのままで中身だけが空になる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-10-13確認)

問題番号: py3b-207
問題番号 py3b-207 の誤りを報告する
第27問 ・ 文字列

次の式の結果として、公式チュートリアルの説明に基づき正しいものはどれか。 2 * 'ab' + 'c' * 3

  • ア'abababccc'
  • イ'ababccc'
  • ウ'ab2c3'
  • エTypeError が発生する
答えと解説を見る
イ'ababccc'正解
解説

正解は「'ababccc'」である。公式チュートリアルは、文字列は + 演算子で連結し、* 演算子で繰り返せると述べ、3 * 'un' + 'ium' が 'unununium' になる例を示している。2 * 'ab' は 'abab'、'c' * 3 は 'ccc' で、これらを + で連結すると 'ababccc' になる。* は数値の積ではなく、文字列に対しては繰り返しを表す。数学の積のように読んでしまうと誤るため、左右の型が文字列と整数のときは繰り返しを表すと整理しておくとよい。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編 3.1.2 文字列、2026-10-26確認)

問題番号: py3b-240
問題番号 py3b-240 の誤りを報告する
第28問 ・ プログラミングへの第一歩

次のコードを実行したあとの a と b の値の組み合わせとして、公式チュートリアルの多重代入の説明に基づき正しいものはどれか。 a, b = 1, 2 a, b = b, a + b

  • アa は 2、b は 3
  • イa は 2、b は 4
  • ウa は 3、b は 3
  • エa は 1、b は 3
答えと解説を見る
アa は 2、b は 3正解
解説

正解は「a は 2、b は 3」である。公式チュートリアルは、代入文ではまず右辺の式がすべて評価され、次に代入が行われると説明している。右辺は b と a + b なので、代入前の値で 2 と 1 + 2 = 3 が先に評価される。そのあと a に 2、b に 3 が同時に代入される。a を先に更新してから a + b を計算するわけではない点が決め手である。この性質があるので、a, b = b, a + b のように、同じ名前を右辺と左辺の両方に書いても、古い値を使った計算が正しく行われる。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編 3.2 プログラミングへの第一歩、2026-10-26確認)

問題番号: py3b-241
問題番号 py3b-241 の誤りを報告する
第29問 ・ 文字列

word = 'Python' のとき、len(word[1:-1]) を評価した結果と、len() 関数についての公式チュートリアルの説明の組み合わせとして、正しいものはどれか。

  • ア4。len() は文字列の長さを返す
  • イ6。len() は文字列の長さを返す
  • ウ4。len() は文字列の最初の文字を返す
  • エ5。len() は文字列の中の英字の数だけを返す
答えと解説を見る
ア4。len() は文字列の長さを返す正解
解説

正解は「4。len() は文字列の長さを返す」である。word[1:-1] は、インデックス1から最後の1つ手前までを取り出すスライスで、'Python' から 'ytho' が得られる。公式チュートリアルは、組み込み関数 len() は文字列の長さを返すと述べている。'ytho' は4文字なので、結果は 4 になる。元の word は6文字だが、スライスで両端が除かれている。スライスの終端に負のインデックスを使うと、末尾から数えた位置の手前までを取り出せるので、両端を除く切り出しにも便利である。

https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編 3.1.2 文字列、2026-10-26確認)

問題番号: py3b-242
問題番号 py3b-242 の誤りを報告する

間違えた文法をチュートリアルで確かめる(Amazon)

一問一答で間違えた箇所を、文法の説明を最初から読んで確かめたいときのチュートリアルの日本語版です。購入前に版と試験範囲への対応を確認してください。

PR

執筆: ミナト編集部(運営者情報を見る)