今回は以下の模擬試験を解いてみました。
難易度は中程度らしく、本番試験よりはやや易しいようです。
https://diver.diveintocode.jp/dive_into_exam/1
残念ながら、不合格でした。
あと、数問正解すれば合格ラインのようです。。。
以下に間違えた箇所の復習を記載します。
見直し
【辞書型】
dic = {'Noro': 1, 'Nakao': 2, 'Miyaoka': 3}
dic['Miyaoka'] += 1
print(dic)
{'Noro': 1, 'Nakao': 2, 'Miyaoka': 4}
【多次元配列】
num = [[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10]]
col = [row[2] for row in num]
print(col)
[3, 8]
1.変数numには、listが多重で代入されている。(いわゆる多次元配列)
2.変数colには、for文でnumの要素をrowにコピーして、そのrowの2番目を出力。
【計算】
a = 3
b = 4
c = 3.0 + b, 5 * a
print(c)
(7.0, 15)
【zip】
dic = [
['Noro', 'Nakao', 'Miyaoka'],
['Kimura', 'Miyashita', 'Shibata'],
['Matsumoto', 'Tanaka', 'Ivan'],
]
print(list(zip(*dic)))
[('Noro', 'Kimura', 'Matsumoto'), ('Nakao', 'Miyashita', 'Tanaka'), ('Miyaoka', 'Shibata', 'Ivan')]
*(アスタリスク)による位置引数のタプル化:
アスタリスクを付けることで可変個の位置引数をタプルにまとめることができる
【不変と可変】
不変(immutable): 整数、浮動小数点数、文字列、タプルなど
可変(mutable): リスト、辞書、集合など
【math】
math.pi :3.141592653589793
mash.cos :x ラジアンの余弦を返します。
>>> import math
>>> math.cos(math.pi / 5)
0.8090169944
【ビルドイン関数dir()】
モジュールが定義している名前を確認することができる。
【for文】
titles={'title1':'hoge1','title2':'hoge2','title3':'hoge3'}
print("出力結果:")
for k,v in titles.items():
print(v)
hoge1 hoge2 hoge3
1.titlesに対して、items()メソッドで、titlesの中のキーと対応する値を同時に取得
2.それを k (key), v (value) に代入
3.vの方を出力する。
num_list = [2, 4, 6, 4, 4, 2, 6]
for i in range(num_list.count(4)):
print(i, end=' ')
0 1 2
1.リスト型で要素がnum_listに入っている
2.range(終了)で、num_list.count(4)は、
num_listのリストに含まれる要素4の出現回数を数える。
-> 4は3回出現している -> range(3)になる。
3.for i in range(3)
print(3, end=’ ‘)
の出力のため0, 1, 2となる。
print()は引数”end”に値を入れることで、末尾に何をつけるかを設定することができる。
【Pythonの変数】
・関数内で変数に代入を行うと、その値がローカル変数のシンボル表に記録される
・関数内からグローバル変数は参照することができない
→関数内からグローバル変数は参照可能
・ビルトイン名のシンボル表は builins() 関数で確認できる
→ビルトイン関数のシンボル表は「import builtins → dir(builtins)」で確認できる
・変数に値を代入しないで実行しようとするとTypeErrorが表示される
→変数に値を代入しないで実行しようとすると「NameError」が表示される
【コンパイル済Pythonファイルの拡張子】
pyc
pycファイル:Pythonでモジュールをインポートすると、拡張子pycのファイルができる。
pyファイルをコンパイルした結果のバイトコードを含むファイル。
【del】
dive_into_code = ['Noro', 'Nakao', 'Miyaoka', 'Miyashita', 'Shibata', 'Kimura']
del dive_into_code[:]
print(dive_into_code)
delで全削除することが可能。
del 変数名[:] とすると全範囲指定になる。(スライス)
【del】
name1,name2,name3,name4= '', 'suzuki','tanaka','sato'
selected_name = name1 or name2 or name3 or name4
print(selected_name)
suzuki
1.1行目が実行された時点で、name1には空文字、name2には'suzuki'が入っています。
2.orを使った時には一番初めのname1から評価されていきます。
また、Trueになるものがきたときに後ろの評価は行わずに評価を行って
Trueだったものを返します。
3.name1は空文字なのでFalse扱いです。
しかし、次のname2には文字列が入っているためTrue扱いとなって、
selected_nameにはname2の値が返されます。
4.name3,name4に関しては評価は行われません。
【シーケンスデータ型】
タプルは「immutable」であり、 アンパッキングしてアクセスすることができる。
※アンパック:複数の要素を持つものを分解して各変数に代入すること