Python・AIエンジニア科

Pythonを使用したプログラム・AIアプリ制作ならびに、大量のデータベースを扱う業務にも対応できるPHPのスキルが習得できるコースです。

カリキュラム

各種概論

  • AI概論
  • サイト構築概論
  • PHP概論

AI実習

  • AI実習
  • AI応用演習
  • AI自主開発演習
  • AI実践演習

バックエンド実習

  • PHPデータベース実習
  • バックエンド自主開発実習

WEBサイト構築実習

  • サイト構築演習

その他カリキュラム

  • 就職支援

取得可能な資格

  • Python3エンジニア認定基礎試験
  • PHP技術者認定初級試験
  • Webクリエイター能力認定試験 エキスパート

X(旧Twitter)の解答集

●2024/9/25 X(旧Twitter)の問題ポストの解答

正解:B

open()関数は、ファイルの操作に使用できる関数です。mode引数を追加することで、ファイルの開き方(読み込み用、書き込み用など)を指定できます。

テキストモードの読み込み専用で開くには、”r”を使用します(C)。バイナリーモードで新規に書き込むには、”wb”を使います(D)。バイナリーモードで追加で書き込むには、”ab”を使います(A)。バイナリーモードで読み込むには、”rb”を使います。この時、”b”だけの指定はできません(B)。

●2024/8/20 X(旧Twitter)の問題ポストの解答

正解:A
入れ子にしたリストの要素の参照方法についての問題です。
設問のリストでは、[1, 2]と[3, 4]の2つのリストが入れ子になっています。入れ子にしたリストで特定の値を参照するには、data[0] [0]のようにインデックスを2回指定します。

リストの参照では、先頭の要素にインデックス[0]を使用するため、先頭の[1, 2]に含まれる「1」を参照するには、[0] [0]と指定します。同様に、2番目の[3, 4]に含まれる「4」を参照するには、[1] [1]と指定します。
以上から、data[0] [0]、data[1] [1]が正しい記述になります(A)。

その他の選択肢は、インデックスの指定が誤っているため、正しい実行結果を出力できません。

●2024/8/29 X(旧Twitter)の問題ポストの解答

正解:C
負数で指定する文字列のスライスに関する問題です。
負数のスライス位置は、[-5: ]はスライスの位置で「-5」以降の文字を切り取るため、cdefgとなります(B)。

●2024/8/20 X(旧Twitter)の問題ポストの解答

正解:B
リストの入れ子に関する問題です。
リストの要素には、値だけでなく任意のオブジェクトを持つことができます。
リストの要素として「別のリスト」を持つことを入れ子にするといいます。リストの入れ子は、ネストと呼ばれることもあります。

要素[1, 2]と要素[3, 4]を持つリストを作成するには、次のように記述します(A)。

例:ネストの作成①
[[1, 2], [3, 4]]

このリストの要素は2個なので、長さは2になります(C)。
リストは、任意のオブジェクトを持てるため、[[1, 2], [3, 4, 5]]のように異なる長さのリストを作成できます(D)。

例:ネストの作成②
[[1, 2, 3, 4]]

このリストの要素は1個で、その要素は[1, 2, 3, 4]です。したがって、リストの長さは1になります(B)。

●2024/8/15 X(旧Twitter)の問題ポストの解答

正解:B
リストの長さに関する問題です。
リストの長さは、len()関数で取得できます(B)。len()関数は、オブジェクトの長さを取得する組み込みの関数です。
長さを取得できるオブジェクトには、リストのほかに文字列などがあります。リストの場合は要素の数を返し、文字列の場合は文字の数を返します。

例:
data = [10, 20, 30]
print(len(data))

実行結果:
3

count、lengthは組み込み関数には存在しないので、実行するとNameErrorになります(A、C)。NameErrorは、存在しない関数などを参照したときに発生するエラーです。
また、リストにはlengthという属性はありません。

●2024/8/5 X(旧Twitter)の問題ポストの解答

正解:C
リストへの要素の追加に関する問題です。
リストの末尾に値を追加するには、append()メソッドを使います。

書式:リストに要素を追加する①
リスト名.append(値)

設問のように「3」を追加するには、data.append(3)と記述します(C)。
このようにドット「.」を使って書く関数をメソッドといいます。
リストには、addメソッドおよびpushメソッドは存在しないため、実行するとAttributeErrorになります(B、D)。AttributeErrorは、存在しないデータの名前を参照したときに発生するエラーです。

なお、下記のように記述しても、リストの要素をdataに追加できます。

書式:リストに要素を追加する②
リスト名 += [値]

例:リストに要素「3」を追加する
data += [3]

この場合、リストでない3を追加すると、TypeErrorになります(A)。

●2024/7/29 X(旧Twitter)の問題ポストの解答

正解:B
リストのスライスに関する問題です。
リストのスライス範囲は、「開始位置:終了位置」のように記述します。開始位置を省略すると先頭からになり、終了位置を省略すると末尾までになります。

print(data[:2],data[3:])では、リストの要素を参照して、data[:2]とdata[3:]での要素を出力します。data[:2]は、図のように範囲を切り取るため[1, 2]になります。data[3:]は切り取るため[4]になります。以上のことから[1, 2][4]と出力されます(B)

●2024/7/22 X(旧Twitter)の問題ポストの解答

正解:B
format()メソッドを使った文字列のフォーマットに関する問題です。
format()メソッドは、文字列の詳細なフォーマットを行うメソッドです。処理の対象は{}で区切られた書式(フォーマットフィールド)を含む文字列になります。

書式:format()メソッドの記述法
“文字列{Field1}{Field2}{Field3}…”.format(値1,値2,値3…)
・FIeld…フォーマットフィールド
※Fieldは文字列内に挿入できる

フォーマットフィールドの記述方法には、次の3種類あります。

方法①フォーマットフィールドに引数のインデックスを記述する(a)
“spam:{0},ham:{1},eggs:{2}”.format(x,y,z)
引数のインデックスをフォーマットフィールドに記述することで、該当する値を文字列に埋め込みます。

方法②空のフォーマットフィールドを使う(c)
“spam:{},ham:{},eggs:{}”.format(x,y,z)
引数のインデックスは省略できます。その場合は引数の値が順番に応じて埋め込まれます。

方法③フォーマットフィールドにキーワード引数の名前を記述する(d)
“spam:{a},ham:{b},eggs:{c}”.format(a=x,b=y,c=z)
format()メソッドの引数をキーワード引数として与えた場合、フォーマットにはキーワード引数の名前を記述します。

ただし、フォーマットフィールドには、format()メソッドに与えられた引数の変数名は直接記述できません(B)。この記述をした場合、KeyErrorが発生します。
例:KeyErrorになる記述例
“spam:{x},ham{y},eggs:{z}”.format(x,y,z)

●2024/7/16 X(旧Twitter)の問題ポストの解答

正解:A
「文字列とフォーマット指定子を使った値のフォーマットに関する問題です。
設問では、π(円周率)の値をmath.piで求めています。表示するπの桁数は「3.14159」であるため、小数点第5位で丸める必要があります。
フォーマット指定子によるオプションでは、小数のフォーマットを用いて桁数を指定できます。指定子の.5fの.5は小数点第5位で丸めて表示することを意味し、fは数値を与えられた精度まで10進数で出力することを意味します。
以上のことから、math.pi:.5fが正解です(A)。

主なフォーマット指定子を覚えておきましょう。
b…値を2進数で出力する
d…値を10進数で出力する
x…値を16進数で出力する
f…値を与えられた精度までの小数で出力する(例:.5fで小数第5位で丸める)
%…値を100倍し、パーセント記号が付いた形式で出力する。

●2024/7/8X(旧Twitter)の問題ポストの解答

正解:C
フォーマット済み文字列(f文字列)を使った整数フォーマットに関する問題です。
f文字列を使うことで、文字列の中に式の値を入れられるようになります。式の後にフォーマット指定子のオプションを追加することで、式の値にさまざまな書式を設定できます。

書式:f文字列による書式設定
f”文字列{値:フォーマット指定子}
※値およびフォーマット指定子は文字列内に挿入できる

設問のコードでは、フォーマット指定子として7dのオプションを指定しています。7dの7は文字列の最小幅を7桁に指定することを意味し、dは数値を10進数で出力することを意味します。ここでは、右寄せ7桁幅で「 15000」が表示されます(C)。

●2024/7/1 X(旧Twitter)の問題ポストの解答

正解:C
負数で指定する文字列のスライスに関する問題です。
負数のスライス位置は、[-5: ]はスライスの位置で「-5」以降の文字を切り取るため、cdefgとなります(B)。

●2024/6/25 X(旧Twitter)の問題ポストの解答

正解:A
文字列のスライスについての問題です。
スライスとは、指定した範囲の文字列を切り取る操作です。切り取る範囲は下記のように指定します。スライス位置は、文字列の先頭を基準とした位置です。

書式:文字列のスライス操作
文字列[開始位置:終了位置]
※開始/終了位置はスライスの位置で指定する

[2:5]はスライス位置で2から5の間にある文字を切り取るため、「cde」となります(A)。

※Xの方の問題で、スライスが[2:5]ではなく、(2:5)になっていました。
訂正してお詫び致します。

●2024/6/18 X(旧Twitter)の問題ポストの解答

正解:D
文字列の長さを返す関数についての問題です。
Pythonでは組み込みのlen関数を使うことで、文字列の長さを取得できます(D)。

例:len()関数による文字列の取得
print(len(“abc”))
【実行結果】 → 3

正解:C
文字列の記述に関する問題です。
Pythonでの文字列の記述には、シングルクォート「’」もしくはダブルクォート[“」を使います(D、A)。トリプルクォート「”’」および「”””」は、関数やクラスの説明(docstring)を書く際に使用します(B)。
文字列の記述では、先頭および末尾の記号が一致している必要があります。ダブルクォートで開始してシングルクォートで終了することはできません(C)。

文字列の記述
正しい記述 → ‘Python’、”Python”、”””Python”””、”’Python”’
間違った記述 → “Python’、’Python”、”””Python”’、”’Python”””

●2024/6/4 X(旧Twitter)の問題ポストの解答

正解:C
多重代入に関する問題です。
多重代入(Multiple assignment)とは、一度に複数の変数に値を代入する操作を指します。カンマで区切られた値と変数を「=」で結びます。
多重代入の記述例:x, y = 0, 1
設問のソースコードの3行目では、多重代入を利用して、変数aと変数bの値を入れ替えています。変数aには10が、変数bには20が代入されており、それらを入れ替えるため「a:20 b:10」が表示されます(C)。

●2024/5/28 X(旧Twitter)の問題ポストの解答

正解:B
if文の条件評価に関する問題です。
設問では、2番目、3番目、4番目の条件が、変数xに代入されている値に当てはまります。条件分岐は上から順番に評価されるため、2番の「elif x > 1」に書かれた処理が実行されます。そのため「xは1より大きい整数」が正しい実行結果になります(B)。

if文は、条件分岐と呼ばれるプログラミング言語の制御構文の中でも代表的な構文で、変数の値に応じて異なる処理を実行できます。Pythonのif文は「if…elif…elif」の連なりを利用することで、他のプログラミング言語におけるswitchやcase文の役割も担えます。

●2024/5/20 X(旧Twitter)の問題ポストの解答

正解:D
ファイルの読み込みに関する問題です。
ファイルの内容を読み込むには、read()メソッドを使用します。設問のようにfpファイルオブジェクトとした場合は、fp.read()とすることでファイルの内容を取得できます。(D)。

load()やread()という組み込み関数はないので、実行するとNameErrorになります(A、B)。また、fp.load()というメソッドは存在しないので、実行するとAttributeErrorになります(C)。

●2024/5/14 X(旧Twitter)の問題ポストの解答

正解:B
リストやタプルの性質に関する問題です。
リストやタプルには、数値や文字列などの異なるデータ型の要素を格納できます(A)。
リストの場合は、既に存在する要素の値を変更できますが、タプルの場合は、こうした変更ができません(C)。
リストの場合は、定義した後でもappend()メソッドを使うことで要素を追加できます。タプルの場合は、いったん定義すると後から要素を追加できません(B)。

●2024/5/7 X(旧Twitter)の問題ポストの解答

正解:D
setの性質に関する問題です。
setとは集合を扱うデータ型のことで、要素を重複しないように保持します(A)。また、2つのset同士で、和集合や差集合といった集合演算を行えます(B)。
setはset()関数によって定義できます。set()関数の引数はリスト、タプルといった反復可能体です。
○setをリストで定義する
s1 = set([1,2,3,4,5])
○setをタプルで定義する
s2 = set((1,3,5))
add()メソッドでも要素をsetに追加できますが(C)、追加した順序を保持しません(D)。また、要素を取り出すときの順序も、実行のたびに同じになるとは限りません。

●2024/4/30 X(旧Twitter)の問題ポストの解答

正解:C
関数を作成する方法についての問題です。
関数とは、処理をまとめて1つの機能として定義したものです。関数を利用することによりコードの再利用性が高まります。また、プログラム全体の可読性も向上します。

Pythonで関数を定義するには、キーワードdefを使用します。defに続けて関数名、丸括弧()で囲んだ仮引数のリストを書き、末尾にコロン「:」を記述します。
書式:
def 関数名(仮引数1,仮引数2…):
# 処理内容

●2024/4/19 X(旧Twitter)の問題ポストの解答

リストに関する問題です。
リストはPythonで複数の値を扱うための基本的なデータ構造です。
扱えるデータの種類は、整数、浮動小数点数、文字列などです。

リストは「[]」とカンマを使って記述します。(A)
文字列と同じく、インデックスで要素を参照できます。文字列とは異なり、インデックスで更新することも可能です(B)。
先頭のインデックスは0を使用します(C)。末尾のインデックスは「要素数-1」ですが、-1も末尾のインデックスとして使用できます。(D)

●2024/4/9 X(旧Twitter)の問題ポストの解答

正解:D
Pythonのコーディングスタイルに関する問題です。
Pythonには、推奨されるコーディング上の規則を示したガイドラインが用意されています。
このガイドラインでは、可能であればコメントは独立した行に書くこと(A)、また、ソースコードの幅が79文字を超えないよう折り返すこと(B)などが推奨されています。
インデントについては、タブを使わないことが推奨されています(C)。タブではなく空白4つを使用します(D)。

●2024/4/1 X(旧Twitter)の問題ポストの解答

正解:C
多重代入に関する問題です。
多重代入(Multipul assignment)とは、一度に複数の変数に値を代入する操作を指します。カンマで区切られた変数と値を「=」で結びます。
X = https://twitter.com/frontier_FUKU

●2024/3/18 X(旧Twitter)の問題ポストの解答

正解:B
ソースコードファイルの文字コードに関する問題です。
Pythonのソースコードファイルは、デフォルトではUTF-8でエンコードされたものとして扱われます(B)。

【Python001】:③ 101

●3/13 X(旧Twitter)の問題ポストの解答

正解:D
対話モードを起動すると、バージョン番号に続いて、ヘルプおよび著作権情報などを確認するためのコマンドが表示されます。
その後に一次プロンプト「>>>」が表示されます(B、D)。複数行の構文を入力するときは、二次プロンプト「…」が表示されます。(C)
対話モードの中でif文やfor文を使うと二次プロンプトが表示されます。このとき、インデントは自動で挿入されないことを覚えておきましょう。