
Pythonを学びたいと思っている方に非常におすすめな学習方法があります。それは、KaggleのCoursesです。特徴としては、以下のものがあります。
- 無料
- 面倒な環境設定なく
- 解説付きで
- 体系的に学習できる
これは、活用しないわけにはいかないですよね。ただ、このKaggleのCoursesは、英語で書かれています。なので、英語が苦手な初学者にはハードルが高いと感じるかもしれません。なので、日本語でコードの解説をしていきます。
まずは、以下の記事を参考に、KaggleのCoursesで独学する方法を解説しています。
Kaggle Courses|Pythonを無料で独学できる超簡単な方法
今回は、KaggleのCoursesの各論として、Python偏の「Functions and Getting Help」の「exercise」を解説していきます。
Functions and Getting Help (exercise)
関数は強力です。自分でいくつか書いてみましょう。
前回同様、質問1に入る前に、以下のセットアップコードを実行することを忘れないでください。
1.
次の関数の本体を,そのdocstring(関数の説明文のこと、以下のコードでは “”” “””内)に従って完成させなさい。
HINT:Pythonには組み込み関数roundがあります。
それでは、pass の下にコードを書いてみましょう。ヒントから、round関数を使えばいいことが分かります。
pass の下に書いた return round(num, 2) ですね。
2.
roundのヘルプによると、ndigits(2番目の引数)が負の値になることがあるそうです。負の場合はどうなると思いますか?次のセルでいくつかの例を試してみましょう。
自分で、2番目の引数を負の値にして、コードを書いてみましょう。わたしは、以下のように試してみました。
これが役に立つケースを思い浮かべてみてください。準備ができたら、以下のコードセルを実行して、答えを確認し、問題を完了したことを確認してください。
3.
前回の「Exercise」では、キャンディを共有する友人のアリス、ボブ、キャロルがキャンディを均等に分けようとしました。友情のために、残ったキャンディは潰してしまいます。例えば、全員で91個のキャンディを持ち帰った場合、一人30個ずつ取って、あまりの1個を潰します。
以下は、キャンディの合計数に応じて、潰すキャンディの数を計算する簡単な関数です。
この関数を修正して、キャンディーを分ける友達の数を表す第2引数を任意に取るようにします。2番目の引数が提供されていない場合は、以前のように3人の友人を想定する必要があります。
この新しい動作を反映して、docstringを更新します。
では、自身でコードを書いてみましょう。キャンディーの数と友達の数を引数で指定できるようにしましょう。
「n_friends」は、友達の数ですね。デフォルトでは3を指定するようにしています(=3)
4. (オプション)
楽しいことではないかもしれませんが、エラーメッセージを読んで理解することは、あなたのPythonキャリアの重要な部分となるでしょう。
以下の各コードセルには、コメントされたバグのあるコードが含まれています。それぞれのセルについて…
- コードを読んで、実行したときに何が起こるか予想してください。
- そして、そのコードのコメントを外し、実行して何が起こるかを確認してください。(Tip: カーネルエディタでは,いくつかの行をハイライトし,ctrl+/を押すとコメントの有無を切り替えることができます)
- コードを修正する(例外を発生させずに本来の目的を果たすように)
1で作成した関数、round_to_two_places をつかって、9.9999を適応させてみると、10.0になります。
まずは、以下のコードのコメント(#)を外しましょう。
コメント(#)が外れましね。では、コードを実行してみましょう。
この赤い枠がエラーメッセージです。これから、いやというほど目にするでしょう。
このエラーメッセージは、ヒントを与えてくれます。すなわち、「abs()の引数が2つになっているから、正しく実行できていない」と教えてくれてます。
では、数値それぞれに、abs() を付けてみましょう。
少し面倒ですが、x と y に abs() を適応させると上手く出力されました。
では、次のコードを見てみましょう。
コードをそのまま実行すると、左のようなエラーメッセージが出てきます。’return’ の位置がおかしいために、正しく実行できないと教えてくれています。
return は、その上のコードである y = abs(x) を同じ位置に揃えましょう。このように、段落を揃えるようなことを、インデントを揃える、インデントを付けると言います。インデントの位置でコードが正しく実行されない場合も多いので注意しましょう。
KaggleのCourses|Booleans and Conditionals_Turorial
KaggleのCourses|Functions and Getting Help_Turorial


コメント