0
0

ExamApp 模擬試験アプリ Python3エンジニア認定試験 基礎・初級問題 解いてみた

Last updated at Posted at 2024-01-24

こんにちは!WEBの問題集を解きました。
結果と間違えた問題の見直しをしていきます。

模擬試験アプリ Python3エンジニア認定試験

基礎・初級問題

開始日 ステータス 正解率
2024年01月12日13時10分 完了 72%

資格の合格ラインは正解率 70% です。

以下は間違えた問題の見直しです。

見直し

問題 11
# 次のコードを実行した結果として、正しいものはどれか。
for count in range(3):
    print(count)
回答
0
1
2
問題 18
# 次のコードを実行した結果として、正しいものはどれか。
num = [1, 2, 3, 4]
print(num.pop(2))
回答
3
問題 19
# 次のコードを実行した結果として、正しいものはどれか。
area = [x ** 2 for x in range(3)]
print(area)
回答
[0, 1, 4]
問題 24
# 演算子の優先度を高→低と並べたとき、正しいものはどれか。
# not → and → or → 比較演算子
# and → or → 比較演算子 not
# 比較演算子 → and → or → not
# 比較演算子 → not → and → or
回答
# 比較演算子 → not → and → or
問題 30
# 次のコードを実行した結果として、正しいものはどれか。
list = []

try:
    number = list[-1]
    print(number)
except ZeroDivisionError:
    print('ZeroDivisionError')
except IndexError:
    print('IndexError')
回答
IndexError
問題 32
# 次のコードを実行した結果として、正しいものはどれか。
class Greet():
    def say():
        print('Hello')

sample = Greet()

sample.say()
回答
# エラーになる。
解説
# 問題文のコードは「TypeError: Greet.say() takes 0 positional arguments but 1 was given」のエラーが表示されます。
# クラスにメソッドを定義する場合、メソッドの第一引数でインスタンス自身(問題文ではsample)を受け取る必要があります。
# そのため、以下のように二行目を「def say(self):」とすることで、sayメソッドが実行されて「Hello」が表示されます。

-------------------------------
class Greet():

    def say(self): 
    #【3】 selfでsampleを受け取る

        print('Hello')
        #【4】 print文を実行

sample = Greet()
#【1】 クラスをインスタンス化

sample.say()
#【2】 sayメソッドを実行

-------------------------------
# なお、メソッドの第一引数の名前は慣習で「self」を使います。

#(公式書籍 p.108)
問題 33
# 次のコードを実行した結果として、正しいものはどれか。
class Item:
    pass

x = Item()
name = 'book'
print(x.name)
回答
# エラーになる。
解説
# 問題文のコードは、インスタンスと属性が紐づいていないため、「AttributeError: 'Item' object has no attribute 'name'」のエラーが表示されます。
# インスタンス化したオブジェクトにデータ属性を定義する場合は、「オブジェクト.データ属性名 = 値」と記述します。
# そのため、問題文の「name = 'book'」を、以下のように「x.name = 'book'」に変更すると、print文が実行されて「book」が表示されます。

-------------------------------
class Item:
    pass
    #【1】 Itemクラスを定義

x = Item()
#【2】 Itemクラスをインスタンス化

x.name = 'book'
#【3】 インスタンス(オブジェクト)に「name」のデータ属性を定義して、「book」の値を代入。

print(x.name)
#【4】 データ属性の値を表示

-------------------------------

#(公式書籍 p.104)
問題 36
# ディレクトリの中のファイルをリストで取得する場合、次のコードの★★★に入るものはどれか。
import glob

title = glob.★★★('*.txt')
回答
glob
解説
#「glob.glob()」の最初のglobはモジュール名で、次のglobは関数名です。
# ファイルの一覧はos.listdirでも取得できますが、globは問題文のようにワイルドカード(*)が使えます。

#(公式書籍 p.120)
問題 37
# 次のコードでプログラムを終了させる場合、★★★に入るものはどれか。
import sys

sys.★★★()
回答
exit
問題 38
# 次のライブラリのうち、Pythonの標準ライブラリではないものはどれか。
gzip
timeit
csv
openpyxl
回答
openpyxl
解説
# openpyxlはExcelファイルを扱うライブラリで、標準ではなく外部ライブラリとなります。
# 外部ライブラリはインストールが必要です。

#(公式書籍 p.125-126)

Pythonの標準ライブラリ
gzip:gzipファイルの圧縮と展開を行うことができる。
timeit:コードの処理の実行時間を計測できる。
csv:csvファイルの読み込み、書き込みの処理を行うことができる。

問題 40
# MacOSのbashで仮想環境をアクティベートする際の記述として、正しいものはどれか。
# 仮想環境のディレクトリ名は「directory」とする。
回答
source directory/bin/activate

仮想環境について
仮想環境作成
 python -m venv [仮想環境名]

仮想環境のアクティベート
 Linux, Macの場合
  . [仮想環境名]/bin/activate
   または
  source [仮想環境名]/bin/activate

 Windowsの場合
  .[仮想環境名]\Scripts\activate

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0