Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

全問正答率2%以下!?Pythonの雑学や歴史を知るPythonクイズ「ビープラウドからの挑戦」をご紹介します。

nana みなさんこんにちは!PyQチームnanaです。

突然ですが、みなさん、クイズって好きですか?

PyCon JP 2019で好評だった、Pythonクイズを出題します!

2019年9月16日、17日にカンファレンスが開催されたPyCon JP 2019にて、PyQの運営会社である株式会社ビープラウドは企業ブースに出展しました。

blog.pyq.jp

そこでブース企画として出題したPythonクイズ「ビープラウドからの挑戦」がとっても好評だったので、今日は、その問題と解説をみなさんにも紹介しようと思います。

問題の概要

Pythonにまつわる雑学とコード問題をあわせた10問で構成されています。

当日ブースでは、200名以上の挑戦者のうちたった3名しか全問正解者が出なかった、なかなかの難問です!

我こそは!というPythonistaのみなさん、ぜひ挑戦してみてくださいね。 当日は回答だけでしたが、解説もつけました。当日詳細が気になった方もぜひご覧ください。

問題

1問目:2018年に「優しい終身の独裁者」を引退したPythonの父の名前はどれ?

  1. イーロン・マスク
  2. グイド・ヴァンロッサム
  3. コーリー・アルソフ
  4. まつもとゆきひろ

回答:グイド・ヴァンロッサム

イーロン・マスク…テスラの共同設立者およびCEO
コーリー・アルソフ…独学プログラマー著者
まつもとゆきひろ…プログラミング言語「Ruby」の開発者

2問目:Pythonの設計に強い影響を与えた言語はどれ?

  1. ABC
  2. BASIC
  3. Perl
  4. Rexx

回答:ABC

ABCはPythonの設計に重大な影響を与えた。Python を開発したグイド・ヴァンロッサムは1980年代初期に ABC システム開発に数年間参加していた

引用元:WikiPedia: ja.wikipedia.org

3問目:Python3.7で、文字列を出力するコードとして正しいのはどれ?

  1. console.log("Welcome to PyConJP!");
  2. print "Welcome to PyConJP!"
  3. print("Welcome to PyConJP!")
  4. puts "Welcome to PyConJP!"

回答:print("Welcome to PyConJP!")

console.log("Welcome to PyConJP!"); … Javascript
print "Welcome to PyConJP!" … Python2系
puts "Welcome to PyConJP!"… Ruby

4問目:Pythonでモジュールをインポートするときにプログラムが動かないための「おまじない」として正しいものはどれ?

  1. if __main__ == "__name__":
  2. if __name__ == "__main__":
  3. if __name__ == "__name__":
  4. if __main__ == "__main__":

回答: if __name__ == "__main__":

参考: blog.pyq.jp

5問目:Python3.7に組み込み関数は何個ある?

  1. 0
  2. 24
  3. 51
  4. 69

回答:69

公式ドキュメントに一覧があります。数えると69個!

docs.python.org

6問目:Python3.7の組み込み関数でないものは?

  1. bin()
  2. dec()
  3. hex()
  4. oct()

回答:dec()

5問目の解説で紹介した、公式ドキュメントの一覧に入っていないものを探してみましょう! https://docs.python.org/ja/3/library/functions.html

7問目: s = "Pythonを完全に理解した" の場合、sと同等の文字列を返さないのはどれ?

  1. s.center(14)
  2. s.upper().lower()
  3. s.strip("完全")
  4. "完全".join(s.split("完全"))

回答:s.upper().lower()

.upper()全て大文字に変換されたのち、.lower()全て小文字に変換される為、 「pythonを完全に理解した」 になります。pが小文字になってしまっているので、sと同等の文字列では無くなっていますね。

8問目:Python3で導入された有名イースターエッグの中に、もう1つのイースターエッグが隠れている。その関数の名は?

  1. braces
  2. lazystring
  3. geohash
  4. terraform

回答:geohash

geohashの元ネタは以下:

xkcd.com

「有名イースターエッグ」については、10問目で出題!

9問目:The Zen of Pythonにあるものは?

  1. Beautiful is boring.
  2. Now is better than never.
  3. Move fast and break things.
  4. You cannot connect the dots looking forward.

回答:Now is better than never.

Beautiful is boring. … BONES UKというバンドの曲名
Move fast and break things. … Facebook社の元モットー
You cannot connect the dots looking forward. … Steve Jobs卒業式スピーチより

10問目:「空飛ぶPython」を実現するためのコマンドは?(ヒント: Pythonの中でもっとも有名なイースターエッグともいわれています)

import <記述してください!>

回答:import antigravity

8問目、10問目のイースターエッグを解説している、The History of Pythonの翻訳ページをご紹介。 https://python-history-jp.blogspot.com/2010/07/import-antigravity.html

まとめ

nana Pythonクイズ、どうでしたか?

Pythonでプログラミングをするだけなら、知らなくてもいい問題も含まれています。

でも、Pythonの歴史や込められた遊び心を知ると、Pythonをもっと好きになれるかもしれません。私はイースターエッグなどについてはこの問題ではじめて知ったので、作った人の顔を見られたような気がして、なんだか楽しくなりました。

好成績が出たら教えてください!

もし挑戦してくださった方は、twitterで#PyQ #BPからの挑戦などのハッシュタグや、PyQ公式アカウント(@pyqjp)へのメンションでシェアしてくださると喜びます。ぜひ成績や感想を教えてくださいね!

Copyright ©2017- BeProud Inc. All rights reserved.