こんにちは!WEBの問題集を解きました。
結果と間違えた問題の見直しをしていきます。
基礎・初級問題
開始日 | ステータス | 正解率 |
---|---|---|
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