Python3エンジニア認定基礎模試試験1回目　-間違えた問題-

<H1>獲得点数　475/1000点</H1>
<H2>正答率: 47.5 % ( 19問 / 40問 正解 )</H2>

```python
print("出力結果:")
for num in range(10):
  print(num)


A,0 1 2 3 4 5 6 7 8 9
```

```python
ビルドイン関数dir()についての適切なものを選びなさい。

A,モジュールが定義している名前を確認することができる
```
```python
print("出力結果:")
print('円周率は%5.3fである。'%math.pi)

A,出力結果:円周率は3.142である。
```
:::note info
インフォメーション
%5.3f→ 
％　＝　math.pi つまり 3.141592653589793
5.3f = 最小の印字数５（小数点もカウント）で小数点以下が３桁
:::

```python
クリーンアップ動作を定義してあるオブジェクトに対して、
クリーナップ動作を保証した形で利用するための構文で適切なものを選びなさい。

A,with
```
:::note info
インフォメーション
open(オブジェクト)を使うとき、close(オブジェクト)しないと保存されないのを、
with.open(オブジェクト)にすると、最後に勝手にclose(オブジェクト)してくれる。
:::

```python
コマンドライン引数を取得するためのモジュールを選択肢の中から選びなさい。

A,sys

[実行コマンド]

$ python sys_sample.py Hello みゃふ 100 True

---sys_sample.pyソース-------
import sys
#argv関数を使う
print('1 : ' + sys.argv[1])
print('2 : ' + sys.argv[2])
print('3 : ' + sys.argv[3])
print('4 : ' + sys.argv[4])
---sys_sample.pyソース-------

　[実行結果]
1 : Hello
2 : みゃふ
3 : 100
4 : True
```

```python
ログを取得するためのモジュールを選択肢の中から選びなさい。
A,logging
```

```python
バイナリデータレコードの処理を行うモジュールを選択肢の中から選びなさい。
A,struct

from struct import *

data = pack('hhl', 1, 2, 3) #(フォーマット,値) １と２と３をバイナリーに変換

print(type(data))
print(data)

data2 = unpack('hhl', data) #(フォーマット,値) １と２と３に戻す

print(data2)

[出力結果]
<class 'bytes'>
b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
(1, 2, 3)
```

```python
対話環境でのヒストリ情報が保存されているファイルを選択肢の中から選びなさい
A,.python_history
```

```python
pythonインタプリタにて
[出力結果]
D:\home\name\python
と出力させるための入力として正しいものを選びなさい

A,print(r'D:\home\name\python')
#raw string用いないと\nで改行されてしまう
```

:::note info
インフォメーション
通常はバックスラッシュがあった場合エスケープシーケンスが働きますが、
raw stringを用いることでそれを無視することが出来ます。
:::

```python
pythonインタプリタにて以下のように入力した場合の出力結果として正しいものを選びなさい。
3*3.72/1.5

A,7.44
```

```python
以下のプログラムを実行した際の出力結果を選びなさい。
print(range(5))

A,range(0, 5) #これをforで使うと　0,1,2,3,4
```

```python
以下のプログラムを実行した際の出力結果を選びなさい。

list = [5, 3, 1, 2, 3, 4, 5, 2]
list.remove(2) #引数2の最初の要素だけ削除します
print(list)

A,[5, 3, 1, 3, 4, 5, 2]
```

```python
シーケンスデータ型について説明した文章で正しいものを
選択肢の中から選びなさい。

A,タプルは「immutable」であり、 アンパッキングしてアクセスすることができる。
```
:::note info
インフォメーション
immutable= 変更できない　mutable= 変更できる
タプルを展開して複数の変数に代入することをアンパックと言います
:::

```python
ファイルの読み書きで使用する「open」関数のモードについて、存在しないものを選択肢の中から選びなさい。

A,r-
```

:::note info
インフォメーション
open(ファイル名, モード、エンコーディング)
[モードの説明]
'w'	書き込み用に開き、既存ファイルがある場合は上書き
'a'	書き込み用に開き、既存ファイルがある場合は末尾に追記
'x'	書き込み用に開き、既存ファイルがある場合はエラー『FileExistsError』
'r'	読み込み用に開く
'+'	更新用に開き、 読み書き両方を指定
't'	テキストモード
'b'	バイナリモード
'U'	ユニバーサル改行モード (非推奨)
:::

```python
以下のプログラムを実行した際の出力結果を選びなさい。
d = 'dive\ninto\ncode\t'
print(len(d))

A,15 #エスケープは数えない
```

```python
Pythonインタプリタにて以下のように入力した場合の出力結果として正しいものを選びなさい
>>>import reprlib
>>>reprlib.repr(set('diveintocode'))

A,"{'c', 'd', 'e', 'i', 'n', 'o', ...}"
```
:::note info
インフォメーション
考えない問題　
repr関数の再帰的な表現を作る場合の深さ制限。デフォルトは 6 です
setはバラバラに一文字づつに分解
6文字が表示されている選択肢を選ぶ
:::

```python
Pythonインタプリタにて以下のように入力した場合の出力結果として正しいものを選びなさい。
>>> import math
>>> math.cos(math.pi / 5)

A,0.8090169944
```

```python
プログラムを実行し、下記の実行結果を得たい。
2017-09-11

from (A) import (B)
now = date.today()
print(now)

A,(A)datetime (B)date
```

```python
以下のプログラムを実行した際の出力結果として正しいものを選択しなさい。
dive_into_code = [(1, 'Noro'), (2, 'Nakao'), (3, 'Miyaoka'), (4, 'Kimura')]
dic = dive_into_code
dic.sort(key=lambda dic: dic[1])
# dic[1] は 'Noro', 'Nakao', 'Miyaoka', 'Kimura'を指します
print(dic)

A,[(4, 'Kimura'), (3, 'Miyaoka'), (2, 'Nakao'), (1, 'Noro')]
```

```python
以下のプログラムを実行した際の出力結果として正しいものを選択しなさい。
num = [[1, 2, 3, 4, 5],
       [6, 7, 8, 9, 10]]

col = [row[2] for row in num]
#リスト内包表記 同じリストに入れなおす
print(col)

A,[3, 8]
```