zlib
次のコードを実行したときの出力として、正しいものを1つ選べ。
import zlib
s = b"witch which has which witches wrist watch"
t = zlib.compress(s)
print(len(t) < len(s), zlib.decompress(t) == s)
- A
False True - B
True False - C
True True - D
TypeErrorが発生する。
正解と解説を見る
正解:C
zlib.compress() で圧縮し、zlib.decompress() で元に戻せる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import zlib` | — |
| 2 | `s = b"witch which has which witches wrist wat…` | s = b'witch which has which witches wrist w… |
| 3 | `t = zlib.compress(s)` | t = b'x\x9c+\xcf,I\xceP(\xcf\xc8\x04\x92\x1…, s = b'witch which has w… |
| 4 | `print(len(t) < len(s), zlib.decompress(t) == …` | t = b'x\x9c+\xcf,I\xceP(\xcf\xc8\x04\x92\x1…, s = b'witch which has w… |
| 結果 | 実際の出力 | True True |
- A
誤り。繰り返しの多いデータは、圧縮すると小さくなる。
- B
誤り。decompress で、元のデータに戻せる。
- C
正しい。zlib.compress() でデータを圧縮して小さくし、zlib.decompress() で元に戻せる。
- D
誤り。バイト列(b"...")は圧縮できる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。