LoginSignup
0
0

Python3エンジニア基礎試験_模擬試験の復習⑩

Posted at

問題-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 式の問題です。sortkey として 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 部分だけ出力しています。
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