
Pythonを学びたいと思っている方に非常におすすめな学習方法があります。それは、KaggleのCoursesです。特徴としては、以下のものがあります。
- 無料
- 面倒な環境設定なく
- 解説付きで
- 体系的に学習できる
これは、活用しないわけにはいかないですよね。ただ、このKaggleのCoursesは、英語で書かれています。なので、英語が苦手な初学者にはハードルが高いと感じるかもしれません。なので、日本語でコードの解説をしていきます。
まずは、以下の記事を参考に、KaggleのCoursesで独学する方法を解説しています。
Kaggle Courses|Pythonを無料で独学できる超簡単な方法
今回は、KaggleのCoursesの各論として、Python偏の「Booleans and Conditionals」の「exercise」を解説していきます。
Booleans and Conditionals (exercise)
この演習では、booleans(True , False)と条件式について学んだことを実践してみましょう。
まずは、自分のコードを書く前に、以下のセットアップコードを実行してください
準備が整いましたので、演習問題を行っていきましょう。
1.
多くのプログラミング言語では、組み込み関数としてsignが用意されています。Pythonにはありませんが、自分で定義することができます。
下のセルで、signという関数を定義してください。この関数は、数値の引数を取り、それが負の場合は「-1」、正の場合は「1」、0の場合は「0」を返します。
「if」、「elif」、「else」で条件を定義し、「return」で出力する値を設定しています。
2.
前回の演習で作ったto_smash関数に「logging」を追加することにしました。
下のセルの定義を修正して、print文の文法を修正してください
キャンディが1つしかない場合は、複数形の「candies」ではなく、単数形の「candy」を使用する必要があります
この問題をクリアしたことを認めてもらい、公式の答えを見るには、以下のコードセルを実行してください。
以下のコードを実行して、正解を確認してみましょう。
別の書き方を教えてくれます。こちらの方が1行で書けるので、簡単ですね。
3. 🌶️
チュートリアルでは、天気に備えているかどうかを判断することについて話しました。私は、今日の天気が安全なのは…
- 傘を持っている
- または、雨がそれほど強くなく、フードがあれば…。
- そうでなければ、雨が降っていても仕事の日でない
以上の条件であれば、問題ないです。
以下の関数は、このロジックをPythonの式に変換する最初の試みを使用しています。このコードにはバグがあります。あなたはそれを見つけることができますか?
「prepared_for_weather」がバグっていることを証明するために、次のいずれかの入力セットを考えてください。
関数がFalseを返す(しかしTrueを返すべきだった)、または
関数がTrueを返した(しかしFalseを返すべきだった)。
この問題を解くためには、あなたのコードは正しい結果を返さなければなりません。
当然、このままではエラーになってしまいます。
条件通りにするプログラムはどうすればいいでしょうか。
これで解決しましたね。一応回答を確認してみましょう。
True値は、「True」でも「1などの数値」でもいいです。
False値は、「False」でも「0」でもいいです。
4.
下記の関数is_negativeは正しく実装されています。与えられた数値が負の場合はTrueを、そうでない場合はFalseを返します。
しかし、必要以上に冗長になっています。実際には、同じ動作を維持したまま、この関数のコード行数を75%減らすことができます。つまり、1行にできるということ。
たった1行のコードで同等の処理ができるかどうか試してみて、それを2つめの関数 concise_is_negative に入れてみましょう。
値がおより小さいかどうかを判断させれば、1行で済みますね。
5a.
ケチャップ(ketchup)、マスタード(mustard)、オニオン(onion)というブーリアン変数は、お客様がホットドッグに特定のトッピングをしたいかどうかを表します。お客様の注文に関する質問に対応するいくつかのブール関数を実装したいと思います。例えば、以下のようなものです。
「True」「False」、「1」「0」どちらでも正しく判断してくれます。
5b.
次の関数では、docstringの英語の記述(””)に合わせてコードを記入してみましょう。
5c.
次の関数では、docstringの英語の説明(”””)と一致するようにコードを記入てみましょう。
6. 🌶️
整数に対してbool()を呼び出すと、0に等しい場合はFalseを、そうでない場合はTrueを返すことを見てきました。boolに対してint()を呼び出すとどうなるでしょうか?
下のノートブックセルで試してみてください。
これを利用して、「お客さんはトッピングを1つだけ欲しいか」という英文に対応する簡潔な関数を書くことができますか?
Python初心者がデータサイエンティストになるために必要な書籍
【Python初心者でも分かる】データサイエンティスト協会の100本ノック|ダウンロードから読み込みまで
Functions and Getting Help_演習編
コメント