問題-1
Pythonインタプリタにて以下のように入力した場合の出力結果として正しいものを求めよ。
python.py
>>> from math import pi
>>> [str(round(pi, i)) for i in range(0, 5)]
# ['3.0', '3.1', '3.14', '3.142', '3.1416']
- 解説
math
モジュールの円周率pi
の問題です。pi
を小数点毎にround
メソッドで四捨五入しています。
問題-2
以下のプログラムを実行した際の出力結果を求めよ。
python.py
diver = [d * 2 for d in 'diver']
print(diver)
# ['dd', 'ii', 'vv', 'ee', 'rr']
- 解説
リスト内包表記の問題です。書き方は次の通りです。
[式 for 変数 in リスト等]
for でループする毎に式の値が新しいリストに格納されています。
問題-3
以下のプログラムを実行した際の出力結果を求めよ。
python.py
d = 'diveinto'
d + 'code'
print(d)
# diveinto
- 解説
基本的な構文の問題です。d という文字列に ‘code’ を加算していますが、結果を d に格納をしないと d は書き換わりません。
問題-4
下のユーザー定義例外について正しいものを求めよ。
python.py
class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
# このユーザー定義例外は、Exceptionクラスのデフォルトの__init__をオーバーライドしている。
- 解説
ユーザ定義例外の問題です。Python で例外クラスを自分で定義するときには、Python のビルトインの Exception クラスを親クラスになるように例外クラスを作ります。
従ってこのユーザ定義例外は、Exception クラスのデフォルトの__init__ をオーバーライドしています。
問題-5
以下のプログラムを実行した際の出力結果を求めよ。
python.py
import json
x = {'name':'yamada','data':[2,3,4]}
print(json.dumps(x))
# {"name": "yamada", "data": [2, 3, 4]}
- 解説
json
モジュールの問題です。ここではdumps
を使って出力がどうなるかが問われています。json.dumps()
とすると、辞書をJSON
形式の文字列として出力します。
問題-6
以下のプログラムを実行した際の出力結果を求めよ。
python.py
dive_into_code = [(1, 'Noro'), (2, 'Nakao'), (3, 'Miyaoka'), (4, 'Kimura')]
dic = dive_into_code
dic.sort(key=lambda dic: dic[1])
print(dic)
# [(4, 'Kimura'), (3, 'Miyaoka'), (2, 'Nakao'), (1, 'Noro')]
- 解説
sort
文とlambda
式の問題です。sort
のkey
としてlambda dic[1]
を使っています。dic[1]
はリストの名前の部分ですので、名前の昇順で並び替えられているものが正解になります。
問題-7
pythonインタプリタにて以下のように入力した場合の出力結果を求めよ。
python.py
25//7
# 3
- 解説
// は切り捨ての商です。25 / 7 は 3 余り 4 ですので、 4 は切り捨てられ 3 が正解になります。
問題-8
対話モード時に、最後に表示した式を格納している変数を求めよ。
python.py
# 変数:_ (アンダーバー)
- 解説
対話モード時に、最後に表示した式を格納している変数は_ (アンダーバー)
です。
問題-9
問題文のfor文を実行した場合の、出力結果を求めよ。
python.py
titles={'title1':'hoge1','title2':'hoge2','title3':'hoge3'}
print("出力結果:")
for k,v in titles.items():
print(v)
# 出力結果:
# hoge1
# hoge2
# hoge3
- 解説
for 文と辞書型の問題です。辞書型を for 文で k, v に分けて取り出しています。k, v は key 部分と value 部分に分かれて格納され、5 行目で v 部分だけ出力しています。