Python3エンジニア認定基礎試験 第3章 気楽な入門編 予想問題と解説
Python3エンジニア認定基礎試験「第3章 気楽な入門編」の予想問題を29問収録しています。各問を解説つきで掲載し、全問は演習画面で解けます。出題は公式シラバスの範囲内です。
この章の要点
数と算術演算子、文字列、プログラミングへの第一歩、リスト型の基本などを扱う分野です。全29問(基礎15問・標準13問・応用1問)を収録しています。
- 数と算術演算子
- 文字列
- プログラミングへの第一歩
- リスト型の基本
情報源と編集区分
公式範囲を確認し、問題数・難易度・確認点は当サイトが集計・編集。 一次情報確認日: 2026-09-18。
試験概要(公式)確認しておきたいポイント
当サイトの作問時に観察した、取り違えやすい論点です(公式の統計ではありません)。
- 除算 / と切り捨て除算 // の取り違え。/ は割り切れる場合でも常に浮動小数点数を返し、整数の商が欲しいときは // を使う。
- 負のインデックスとスライスの範囲。-1 が最後の文字で、スライスの終了位置を省略すると末尾までになる。
- リストが可変であることの扱い。代入してもコピーは作られず、同じリストを指す名前が増えるだけになる。
- 文字列とリストの変更可否の取り違え。公式チュートリアルは「Python の文字列は変更できません -- つまり不変です」と述べており、文字列のインデックスで指定した場所へ代入するとエラーになる。同じ書き方でも、リストは可変なので代入できる。どちらの型の話かを先に見る。
- 隣り合った文字列リテラルの自動連結を、変数にも使えると思い込むこと。公式チュートリアルは「連続して並んでいる複数の文字列リテラルは、自動的に連結されます」としたうえで、「これは 2 つのリテラルどうしに対してのみ働き、変数や式には働きません」と述べている。変数と連結するときは + を使う。
- 複数行の文字列での改行の扱い。三連引用符では改行文字が自動的に文字列に含まれ、行末に \ を付けるとその改行を含めないようにできる。見た目の行数と文字列の中身は一致しない。
- 対話モードの変数 _ の扱い。公式チュートリアルは「対話モードでは、最後に表示された結果は変数 _ に代入されます」と述べている。スクリプトの中で自分が定義した変数とは別物として読む。
- スライスの省略時の既定値。公式チュートリアルは「最初のインデックスを省略すると、0 と見なされます。二番めのインデックスを省略すると、スライスする文字列のサイズとみなされます」と述べ、あわせて「開始値は常に含まれ、終了値は常に含まれない」ため「s[:i] + s[i:] は常に s と等しくなります」と述べている。前半と後半に分けたつもりが重なる、欠ける、といった取り違えはここで防げる。
この章の関連用語
この分野の問題で扱う用語です。意味があいまいなものは、用語集で定義を確認できます。
この章に関連する比較記事
混同しやすい2つの概念を並べて整理した記事です。
よくある質問
Q第3章 気楽な入門編は何問収録されていますか?
現在29問を収録しています。内訳は基礎15問・標準13問・応用1問です。
Q第3章 気楽な入門編の頻出論点は何ですか?
数と算術演算子、文字列、プログラミングへの第一歩、リスト型の基本などが出題対象です(当サイト収録問題に基づく編集部集計)。
Q間違えた問題はどう復習すればいいですか?
誤答した選択肢のどこがずれていたかを解説で確認し、関連用語がある場合は用語集で定義に戻ってから再演習することをおすすめします。
Python 3 で 7 / 2 を評価した結果の型と値はどれか。
答えと解説を見る
正解は「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確認)
word = 'Python' のとき、word[-2:] の結果はどれか。
答えと解説を見る
正解は「'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確認)
バックスラッシュをそのままの文字として扱いたいとき、用いる書き方はどれか。
答えと解説を見る
正解は「raw文字列」である。raw文字列は引用符の前に r を付ける書き方で、バックスラッシュをエスケープの開始として扱わず、そのままの文字として残す。三連引用符は複数行にわたる文字列を書くための書き方で、改行をそのまま含められるがバックスラッシュの扱いは変わらない。シングルクォートは通常の文字列の囲み方の一つで、エスケープは働く。文字列の反復は同じ文字列を繰り返して連ねる演算で、書き方の話ではない。三連引用符は引用符を三つ重ねて書く書き方で、改行文字をそのまま文字列に含められるが、行末にバックスラッシュを置くとその改行を含めないようにすることもでき、これは raw文字列とは別の目的でバックスラッシュを使う例である。
https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)
Python でブロックの範囲を示すものはどれか。
答えと解説を見る
正解は「インデント」である。Python はブロックの範囲を字下げで示し、同じ深さに揃えた行が1つのブロックになる。波かっこや begin と end でブロックを囲む言語もあるが、Python の構文ではブロックの範囲を示す記号として使わない。セミコロンは文の区切りに使える記号で、ブロックの範囲を示すものではない。波かっこや begin と end を使う言語では、字下げは読みやすさのための見た目の工夫にとどまり、深さを変えても動作は変わらないことが多い。これに対して Python では字下げの深さそのものがブロックの範囲を決める構文の一部になっており、深さがずれると意図したブロックの範囲が変わってしまう。
https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)
リストを別の名前に代入したあと、片方に要素を足すともう片方も変わった。理由として正しいものはどれか。
答えと解説を見る
正解は「代入はコピーを作らず、同じリストを指す名前が増えるだけだから」である。リストは可変で、代入しても新しいリストは作られないため、2つの名前が同じリストを指す。片方から要素を足せば、もう片方から見ても同じリストなので変化が見える。リストは不変ではないので差し替わるという説明は誤りである。浅いコピーは copy メソッドなどで明示的に作るもので、代入のときに自動で作られるわけではない。長さによって同期が変わる仕組みも無い。同じオブジェクトを指しているかどうかは id() で確かめることができ、代入した直後は元の名前と新しい名前の id() が一致する点からも、別々のリストではなく同じリストを共有していることが分かる。
https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-11確認)
2 ** 3 の結果はどれか。
答えと解説を見る
正解は「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確認)
int と float に加えて、Python の公式チュートリアルが「他の数値型」として名前を挙げているものの組み合わせはどれか。
答えと解説を見る
正解は「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確認)
Python の標準的な比較演算子のうち、「より大きいか等しい(以上)」を表すものはどれか。
答えと解説を見る
正解は「>=」である。公式チュートリアルは、while文の条件式の説明の中で「標準的な比較演算子はC言語と同様です:すなわち、< (より小さい)、> (より大きい)、== (等しい)、<= (より小さいか等しい)、>= (より大きいか等しい)、および != (等しくない)、です」と述べている。「より大きいか等しい」すなわち「以上」を表す演算子は>=であり、<=は逆に「より小さいか等しい」すなわち「以下」を表す。==は等しいかどうかを判定する演算子であり大小関係は表さない。!=は等しくないことを判定する演算子であり、これも大小関係そのものは表さない。
https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-26確認)
print(a, end=',') のように end キーワード引数を指定すると、公式チュートリアルによれば print() の出力はどう変わるか。
答えと解説を見る
正解は「出力の末尾に改行文字を出力する代わりに、指定した文字列を出力するようになる」である。公式チュートリアルは「キーワード引数 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確認)
letters = ['a','b','c','d','e','f','g'] に対して letters[2:5] = ['C','D'] を実行すると、letters はどうなるか。
答えと解説を見る
正解は「['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確認)
Python 3 で 17 % 3 を評価した結果はどれか。
答えと解説を見る
正解は「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確認)
対話モードで tax = 12.5 / 100、price = 100.50 と代入し、price * tax を評価すると 12.5625 と表示された。続けて price + _ を評価したときの結果として正しいものはどれか。
答えと解説を見る
正解は「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確認)
Python の公式チュートリアルによると、複素数の虚部を示すために数値に付ける接尾辞はどれか。
答えと解説を見る
正解は「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確認)
word = 'Python' のとき、word[0] = 'J' を実行した結果として正しいものはどれか。
答えと解説を見る
正解は「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確認)
prefix = 'Py' のとき、SyntaxError になる式はどれか。
答えと解説を見る
正解は「prefix 'thon'」である。公式チュートリアルは「連続して並んでいる複数の文字列リテラル(つまり、引用符に囲われた文字列)は、自動的に連結されます」と記し、'Py' 'thon' が 'Python' になる例を示している。この機能は長い文字列を丸括弧で囲んで改行したいときに役立つとされる。ただし「これは 2 つのリテラルどうしに対してのみ働き、変数や式には働きません」とあり、変数 prefix の後ろにリテラルを並べると SyntaxError になる。変数とリテラルを連結したいときは prefix + 'thon' のように + を使う。
https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)
三連引用符で複数行の文字列を書くとき、最初の引用符の直後の行末に \ を付けた。公式チュートリアルによると、この \ の働きはどれか。
答えと解説を見る
正解は「その位置の改行文字を文字列に含めないようにする」である。公式チュートリアルは、文字列リテラルを複数行にまたがって書く方法の 1 つとして三連引用符("""...""" や '''...''')を挙げ、「改行文字は自動的に文字列に含まれますが、行末に \ を付けることで含めないようにすることもできます」と記している。例では print("""\ の直後で改行しており、最初の改行が出力に含まれない。行の内容を消すわけではなく、改行文字だけを含めない働きである。raw 文字列にするには最初の引用符の前に r を付ける。
https://docs.python.org/ja/3/tutorial/introduction.html (Python公式チュートリアル 第3章 気楽な入門編、2026-09-28確認)
word = 'Python' のとき、word[:2] + word[2:] の結果はどれか。
答えと解説を見る
正解は「'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確認)
word = 'Python'(6 文字)のとき、word[42] と word[4:42] を評価した結果の組み合わせとして正しいものはどれか。
答えと解説を見る
正解は「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確認)
s = 'First line.\nSecond line.' と代入した。対話モードで s をそのまま評価したときと、print(s) を実行したときの表示の違いとして正しいものはどれか。
答えと解説を見る
正解は「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確認)
cubes = [1, 8, 27, 65, 125] に対して、cubes[3] = 64、cubes.append(216)、cubes.append(7 ** 3) を順に実行した。cubes の内容として正しいものはどれか。
答えと解説を見る
正解は「[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確認)
rgb = ["Red", "Green", "Blue"] のあとで rgba = rgb と代入した。id(rgb) == id(rgba) を評価した結果と、その理由の組み合わせとして正しいものはどれか。
答えと解説を見る
正解は「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確認)
rgba = ["Red", "Green", "Blue", "Alph"] のあとで correct_rgba = rgba[:] と代入し、correct_rgba[-1] = "Alpha" を実行した。rgba と correct_rgba の内容として正しいものはどれか。
答えと解説を見る
正解は「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確認)
word = 'Python' のとき、公式チュートリアルが示す「元の文字列と別の文字列が必要な場合」の書き方 'J' + word[1:] の結果はどれか。
答えと解説を見る
正解は「'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確認)
word = 'Python' のとき、word[-6] を評価した結果はどれか。
答えと解説を見る
正解は「'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確認)
squares = [1, 4, 9, 16, 25] のとき、squares + [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確認)
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']、実行後は []」である。公式チュートリアルは、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確認)
次の式の結果として、公式チュートリアルの説明に基づき正しいものはどれか。 2 * 'ab' + 'c' * 3
答えと解説を見る
正解は「'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確認)
次のコードを実行したあとの a と b の値の組み合わせとして、公式チュートリアルの多重代入の説明に基づき正しいものはどれか。 a, b = 1, 2 a, b = b, a + b
答えと解説を見る
正解は「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確認)
word = 'Python' のとき、len(word[1:-1]) を評価した結果と、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確認)
間違えた文法をチュートリアルで確かめる(Amazon)
一問一答で間違えた箇所を、文法の説明を最初から読んで確かめたいときのチュートリアルの日本語版です。購入前に版と試験範囲への対応を確認してください。
