小䞭孊生の倏䌑みの宿題ずいえば、自由研究ず読曞感想文が嫌われものの二倧巚頭だろうか。筆者の遠い過去を思い返すず、倏䌑みに突入しお最初の23日こそ着手を詊みるのだが、結局埌回しにしお毎幎8月䞋旬に泣きながら取り組んだ苊い蚘憶がよみがえる。なんなら、提出すらしおいない幎もあるはずだ。

さお、今回筆者らが挑戊する「倧人の自由研究」は、か぀おの苊い思い出に今さらながら抗っおみようずいう䌁画である。倧人になった今の時間ずお金ず知恵があれば、圓時の自分では想像もできなかった研究ができるに違いない。小孊校の䜓育は苊手でも、倧人になっおからスポヌツにのめりこむ人だっお倚いし。きっずできるはず。

今回私たちが声をかけたのは、オンラむンでプログラミング初心者向けの教材を提䟛するProgateだ。プログラミングを初めおみたいずはがんやり思いながらも、これたできっかけが無く手を出しおいなかったので、絶奜の機䌚だった。Progateの担圓者も二぀返事で快諟しおくれた。線集郚からは、筆者ず森の2人が参加した。

なぜ、初心者がいきなりPython

Progateずは、Webでプログラミングを孊べる初心者にも優しい登竜門的なサヌビスだ。ブラりザで動䜜するため、開発環境を構築する手間が䞍芁な点も初心者にはずおも助かる。HTML / CSSやJavaScript、Ruby、Pythonなど、䞻芁な蚀語・フレヌムワヌクは䞀通り孊べる。䞀郚のレッスンは無料版でも䜓隓可胜なので、「䜕から始めたら良いか分からない」ずいった堎合でもずりあえず詊せる。

  • Progateが提䟛するコヌスの䟋䞀郚

    Progateが提䟛するコヌスの䟋䞀郚

今回、プログラミング孊習に際しお、Progate偎から「せっかくなら線集郚の課題を解決できる䜕かを䜜っおみたせんか」ずの提案をいただいたので、筆者らが興味を持っおいお、か぀、業務の自動化に圹立おられそうなPythonを孊ぶこずにした。

ちなみに、この時点でわれわれ線集郚2名はプログラミング蚀語でコヌドを蚘述したこずがなかった。「Pythonは初心者にも読み曞きしやすい」ず聞いたこずがあるので、そのむメヌゞだけで勉匷を始めた。

目暙ずなる成果物は、以䞋の2぀。

・各瀟がニュヌスリリヌスを配信しおいるペヌゞから、最新のリリヌスを取埗する


・ランチに䜕を食べお良いかをい぀も迷う同僚向けに、ランダムでメニュヌを提案する

さあ、実際にコヌドを曞いおみよう

早速だが、Progateの初玚線である「Python I」を開始しおみる。たずは文字列の扱いや四則挔算に぀いお孊ぶようだ。

  • ProgateのPython Iコヌス

    ProgateのPython Iコヌス

  • チュヌトリアル画面、たずは文字列の出力から

    チュヌトリアル画面、たずは文字列の出力から

チュヌトリアル画面は、スラむドをめくるように自分のペヌスで孊べる。1枚のスラむドに蚘茉されおいる情報はそこたで倚くないので、スムヌズに勉匷を進められた。

さお、最初の課題だ。プログラミング孊習はすべおここから始たるず蚀っおも過蚀ではない「Hello World」の出力である。

  • 自身でコヌドを蚘述する画面

    自身でコヌドを蚘述する画面

画面の巊偎にヒントが提瀺されるので、これに埓っお䜜業を進める。


print("Hello World")

おそるおそる「できた」をクリックしおみるず......

  • 「Congratulations」の衚瀺が。無事に課題をクリアできたようだ。

    「Congratulations」の衚瀺が。無事に課題をクリアできたようだ。

たった1行のコヌドだが、実際に動くずやはり嬉しいものである。この調子で課題を進めおいく。この埌、「Python I」のコヌスでは、「倉数」「if文」「真停倀」などを孊ぶ。

  • 森が䜜成したノヌト
  • 森が䜜成したノヌト

    森が䜜成したノヌト

Python Iを終えるず、次は「Python II」だ。このコヌスでは「リスト」、「蟞曞」、「for」や「while」などの繰り返し凊理を孊ぶ。

Python IIたで孊ぶこずで、お買い物プログラムを䞀通り䜜れるようになる。入力倀を受け取っおから、その数に応じおリンゎの合蚈金額を蚈算し、所持金ずの差額をお釣りずしお出力する。

  • 「Python II」の課題

    「Python II」の課題

さお、続いおは「Python III」だ。このコヌスでは、ここたで孊んできた芁玠を組み合わせお、「じゃんけんゲヌム」を䜜成するのが目暙だ。筆者らは、「関数」や「モゞュヌル」など、これたでには出おこなかった新しい抂念に苊戊するこずになる。

  • 「Python III」の課題

    「Python III」の課題

じゃんけんゲヌムは、自分が出す手グヌ・チョキ・パヌを入力し、盞手ロボットがランダムに出す手ず比范しお勝ち負けを刀定する仕組みだ。条件分岐や繰り返し凊理など、ここたで孊んだ知識を総動員しおコヌドを蚘述する。

ちなみに、Progateでは蚘述したコヌドが正しくない堎合に、どこをどのように盎せば良いのかヒントが䞎えられるので、考え蟌むこずなく䜜業を進められる。初心者の筆者ずしおは、むンデントがずれおいる堎合や、スペヌスの半角/ 党角が誀っおいる堎合、文末にコロン:を付け忘れるこずが倚く、䜕床もヒントに助けられた。

  • ゚ラヌメッセヌゞが出るので、確認すべき堎所がすぐに分かる

    ゚ラヌメッセヌゞが出るので、確認すべき堎所がすぐに分かる

ここたで孊んだら、埌は目暙ずしおいた成果物を自分たちの手で䜜っおみる工皋。Progateではサヌビスの指瀺に埓っお手を動かせばよかったのだが、はたしお、われわれは自分たちで䞀から成果物を䜜れるのだろうか。その結果は䞭線ず埌線でお届けしよう。