Pythonを勉強するためにCheckiOで遊んでみました

Pythonフレームワークを試したりはしているのですが、
なかなかガッツリとコードを書けていなかったので、
Pythonの勉強をするためにオンラインサイトを利用することにしました。



文法やロジックについて学習できて、料金が無料で、モチベーションが上がるような学習オンラインサイトを探してみたところ、
CheckiOというものが楽しそうだったので試してみました。






CheckiOとは



PythonJavaScriptに対応していて、ゲーム感覚で勉強することができます。

簡単なレベルから問題が出題され、問題を解いていくことでレベルアップして次のステージに進むことができます。
サイト上のエディタでコードを書いたりテストを実行できるので、準備等が不要ですぐに始めることができます。

また、自分が問題を解いたあとに、他の人が解いたコードも見ることができるので、
より良い書き方を学ぶことができます。






始め方



checkio.org



上記サイトでCheckiOのPythonを選択します。

Empire of Codeのほうは戦うゲームのようでしたが、遊び方がよくわかりませんでした。。



f:id:mtomitomi:20180212212228p:plain





メールアドレス、Githubアカウント、Facebookアカウント、Googleアカウントのどれかでログインできます。





ちなみに私はChromeを使っているのですが、Google翻訳で日本語表示にすると画面レイアウトがとてつもなく崩れたので、
Google翻訳をオフにして英語のまま進めました。
テストコードが書かれていることもあり、英語が得意でない私でも英語のままで進められる内容になっていました。
むしろ英語の勉強にもなって一石二鳥でした。





ログインするとステージの画面になります。

最初はHOMEELEMENTARYしかできません。
他のステージは鍵マークがかかっていて、ステージをクリアしないとできないようになっています。



f:id:mtomitomi:20180212212838p:plain





HOMEまたはELEMENTARYのステージを選択すると、問題一覧の画面になります。

問題名をクリックすると、問題の説明が表示されます。
画面下にあるSolve itを押すとエディタ画面になります。



f:id:mtomitomi:20180212213317p:plain






f:id:mtomitomi:20180212213745p:plain





テストコードは既に書かれていて、# your code hereと書かれている部分にテストを満たすようなコードを書きます。

コードが書けたら上のメニューバーにあるRunをクリックすると実行できます。



f:id:mtomitomi:20180212213813p:plain





テストが全て正常に通ったらメニューバーのRunの右にあるCheckをクリックします。
問題を解決できていれば「Task solved!」と表示されクリアになります。

View other solutionsをクリックすると他の人のコードを見ることができます。



f:id:mtomitomi:20180212221058p:plain





初期表示はランダムで表示されているようです。
右のメニューからBest Solutionをクリックすると、
評価が高そうなユーザのコードを見ることができます。



f:id:mtomitomi:20180212221410p:plain






f:id:mtomitomi:20180212221430p:plain





右のメニューからGet next taskをクリックすると、次の問題にいきます。



f:id:mtomitomi:20180212221545p:plain






やってみた所感



Pythonの学習オンラインサイトは他にもたくさんあるのですが、無料なものがあまりなく、
Webページや書籍に書いてある文法を写経するのはやる気が出ないと思っていたのですが、
このようにゲーム感覚でできると非常に楽しみながら学ぶことができました。
集中が切れたときのちょっとした合間や、コードを書きたいけれどがっつりアプリを作る気力がないときに
最適かと思います。

また、他の人が書いたコードを見れるので、自分が書いたコードの冗長さに気づいたり、
知らなかった関数を学ぶことができて非常に勉強になりました。





コードを書かないとどんどん忘れていってしまう気がするので、
今後もちょっとした合間にこのゲームをやり、頭の体操をしていきたいと思います。