Pythonチュートリアルを読んで、問題集作ってみた②

こんばんは。Yuinaです🌸

今日はPython公式ドキュメントのチュートリアルを元に

問題を作ってみました。(参照元)

今回の記事では第5章以降の内容を載せています。

ぜひ、問題にチャレンジしてみてください✨

問題

1.(?)に入る言葉を教えてください。

>>>t = 12345,hello
>>>t
('12345','hello')
>>>u = t,(1,2,3,4,5)
>>>u
(?)

2.文字列ではなく、シングルトンタプルとしてPythonが解釈するにはどう書き換えますか。

singleton = 'hello'

3.①~④に入る値を教えてください。

>>>a = set('abracadabra')
>>>b = set('alacazam')
>>>a - b
(①)
>>>a | b
(②)
>>>a & b
(③)
>>>a ^ b
(④)

4.実行結果を教えてください。

for i, v in enumerate(['tic', 'tac', 'toe']):
print(i, v)

5.__pycache__ディレクトリの役割を教えてください。

6.以下の説明に該当するモジュール名と主なライブラリ名を教えてください。

①Pythonのすべてのインタプリタに読み込まれていて、外部のインストールを必要としないモジュール。

②特定のOSのみで利用可能なモジュール。

7.①と②について、パッケージの組み合わせについて教えてください。

a.①トップレベルパッケージ ②サブパッケージ

b.①サブパッケージ ②トップレベルパッケージ

sound(①).format(②).wav

8.モジュール名が同じでもパッケージが異なれば、衝突しないのはどうしてでしょうか。

9.以下のディレクトリ構造を持つパッケージ`my_packageから、sub_module.pyをインポートする正しい方法を教えてください。

my_package/ 
├── __init__.py
├── main.py
└── sub_module.py

10.下記の表記方法について教えてください。


name = 'Alice'
print(f'hello,{name:^10}!')


value = 1234
print(f'{value:08d}')

③print({:<10},format('Python'))


ratio = 0.75
print('{ratio:.1%}')


score = 85
print('{score:.2f}')

11.下記のコードでは、どんなエラーが表示されるか教えてください。

①print(spam')
②while True print("hello")
③s = '2' + 2
④s = 1 / 0

12.type~exceptの例外処理の目的を教えてください。

13.type~exceptブロックにおいて、except節が複数ある場合の実行順序はどうなりますか。

14.実行したらどんなエラーが出ますか。

f = open('myfile.txt')
s = f.readline()
i = int(s.script())

15.コードにValueErrorとTypeErrorの2つのエラーがある場合、どちらが先に現れますか。

16.finally節の役割と実行のタイミングを教えてください。

17.ワイルドカードの役割を教えてください。

18.ワイルドカードで利用される*と?の違いを教えてください。

19.glob.glob(‘dir/**/*’,recursive = True)を実行すると、何が表示されますか。

解答

1.(1,2,3,4,5,hello),(1,2,3,4,5)

2.文末にカンマを入れる。

singleton = 'hello',

3.

>>>a = set('abracadabra')
>>>b = set('alacazam')
>>>a - b
①{'r', 'd', 'b'}
>>>a | b
②{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>>a & b
③{'a', 'c'}
>>>a ^ b
④{'r', 'd', 'b', 'm', 'z', 'l'}

4.

0 tic
1 tac
2 toe

5.

プログラムの実行を高速化する役割。2回目以降に同じモジュールを読み込む時に.pyではなく.pycファイルを読み込むことで、コンパイルの手間を省くことができる。モジュールをコンパイルした結果を.pycというファイルに保存する。保存場所が__pyche__ディレクトリである。

6.

①ビルトインモジュール(sys,os,math)

②プラットフォーム依存のモジュール(winreg)

7.a.①トップレベルパッケージ ②サブパッケージ

8.パッケージごとに異なる名前空間が用意されるため。

9.

import my_package.sub_module

10.

①'hello,     Alice!     '
②00001234
③'Python '
④75.0%
⑤85.00

11.

①NameError
②SyntaxError
③TypeError
④ZeroDivision

12.プログラムのクラッシュを防ぎ、エラーから回復させること

13.最初のexcept節を実行し、他のexceptは無視する。

14.ValueError

15.ValueError

16.finally節は例外が発生してもしなくても実行される。

そのため、処理中にエラーが出てもfinallyにclose処理をしておくと、確実にファイルが閉じられる。

17.ディレクトリ内のファイルをリストアップする役割。

18.*は0文字以上の一致で、?は正確に1文字一致。

19.dirディレクトリとそのサブディレクトリにあるすべてのファイルが表示される。

おまけ問題

1.以下のコードを実行する際、”3.141″まで表示させるにはどうしたら良いでしょうか。

>>>format(math.pi,'5g')
3.14159

2.以下のコードを実行する際、”3.14″まで表示させるにはどうしたら良いでしょうか。

>>>format(math.pi,'5g')
3.14159

3.実行結果を教えてください。

it = "telescope"

①it[6:]
②it[:6]
③it[2:5]
④it[-3:-1]

4.実行結果を教えてください。

colors = ["pink", "orange", "white"]
for t in colors:
if len(t) == 4:
print(t)

5.(①)に入る記述として正しいものはどれですか?

def calc(value, x=2):
return value ** x
print(calc(4, 2) * calc(2))

6.①、②に入る内容を教えてください。

 def greeting(①,②):
for word in words:
print(word, **options)
greeting("こんにちは","またね")

7.①、②、③で、キーワード引数・位置のみ引数・どちらものどれを使いますか?

greeting(①, /, ②, *, ③):
 pass

8.適切でないのはA~Dのどれですか。

def greeting(*word, to=Yuina):
pass

A. greeting(“こんにちは”)
B. greeting(“こんにちは”, to=”megumi”)
C. greeting(to=”megumi”, “こんにちは”)
D. greeting(“こんにちは”, “さよなら”)

9.(①)に当てはまるものを以下から選んでください。

A. animals, options
B. animals, *options
C. *animals, *options
D. *animals, **options

animals = ["panda","bear"]
options = {"sep":","}
print(①)

10.計算結果を教えてください。

x * 2 for x in range(5)

11.文字列のリストwords = [‘hello’, ‘world’, ‘python’]から、文字列の長さを要素とする新しいリストを作成するリスト内包表記として正しいものを選んでください。

A.[x for x in len(words)]
B.[len(x) for x in words]
C.[words[len(x)] for x in words]
D.[x.length() for x in words]

12.次のコードを実行した結果として表示されるものを選択してくださ
い(1つ選択)

compare1 = "green" < "purple" < "blue"
compare2 = [4, 2] < [5, 3, 4]
compare3 = (3, 1) < (3, 1, -1)
print(compare1, compare2, compare3)

A. True False False
B. False False True
C. False True True
D. True False True

13.実行すると、できることを教えてください。

os.getcwd()
os.chdir
dir(os)
help(os)

14.Doctestを使った処理について教えてください。

15.pip uninstall pyyamlとpip freeze > requirements.txtの役割について教えてください。

おまけ解答

1.print(format(math.pi, ‘.3f’))

2.print(format(math.pi, ‘.4g’)) or print(format(math.pi, ‘.3f’))

3.

it[6:] 実行結果: 'pe'

it[:6] 実行結果: 'telesc'

it[2:5] 実行結果: 'les'

it[-3:-1] 実行結果: 'op'

4.pink

5.64

6.words, **options

7.①キーワード引数②どちらも③位置のみ引数

8.C

9.D

10.[0, 2, 4, 6, 8]

11.B

12.C

13.

os.getcwd() : 現在の作業ディレクトリ(カレントディレクトリ)のパスを文字列で取得。
os.chdir : 指定したディレクトリに作業ディレクトリを変更する。
dir(os) : osモジュールが持つすべての関数、クラス、および属性のリストを表示する
help(os) : モジュールに関する詳細なヘルプ情報(ドキュメント)を表示する。

14.対話的Pythonセッションのように見えるテキストを探し出し、セッションの内容を実行して,そこに書かれている通りに振舞うかを調べる。

15.インストールされたパッケージ一覧を作成し、requirements.txtに保存する。


終わりです!お疲れ様でした✨

タイトルとURLをコピーしました