わかりました｡
エクササイズの時間です｡
今まで学んだことをすべて組み合わせて､ このチャレンジに挑みましょう｡
やって欲しいのは､ highest evenという関数を作ることです｡
そして､ この関数はリスト､ データ型を受け取ります｡
そして､ この関数はとりあえずパスしておきます｡
でも､ この部分は､ 実現できそうなことを何でもいいから埋めてほしいんです｡
例えば､ 1､ 2､ 3､ 4､ 8というように､ 最高値で印刷すると､ そのリストが表示されます｡
この一覧表に最高値の偶数を印字してほしい｡
そして実は､ ここで10回やってみましょう｡
つまり､ このリストの中で最も高い偶数は10である｡
遊び心で
11も追加しよう｡
だから､ 答えはここに10と印刷されているはずだ｡
これまで学んだことを踏まえて､ この部分を埋めて､ 自分なりの関数を作ってみてください｡
最高偶数｡
映像の一時停止はこちら
試してみてください｡
そうでなければ､ 答え合わせをする｡
そこで､ ここで考えたいのは､ まず､ ここにある偶数の数字だけを考えるようにしたいということです｡
そこで､ 「Evens」という新しいリストを作ろうかなと思っています｡
そしてエベンスはとりあえず空リストになりそうです｡
しかし､ 私はこれをすべて入力するつもりです｡
偶数番号です｡
だから､ ここから3と11を削除する｡
では､ そうしましょう｡
嘘のように4項目と言うことになります｡
アイテムの場合｡
モデューロ2｡
ゼロに等しい､ つまり偶数になる｡
それなら､ イーブンです｡
項目を追加する｡
だから､ この新しいリストに加えようと思っています｡
そして最後に､ 偶数個のリストができたら､ 一番大きい数字を見つけたいんです｡
さて､ これを手動でひとつひとつ調べていく｡
あるいは､ PythonにはMaxという素敵な関数が付属しています｡
そして､ ご覧のように､ イテラブルを与えると､ 最大数が何であるかを教えてくれます｡
私たちの場合､ イーブンを出せばいいんです｡
そして､ この関数から何かを返したいということを忘れないでください｡
それが最高値の数字です｡
まあ､ 偶数の最大値を返したいんだけどね｡
これを実行すると
10個もらえるの？
すごい｡
うまくいっているようだ｡
さて､ 騙されたと思ってforループの中でリターンしてみた人もいるかもしれない｡
でも､ もしそうなったら､ 思い出してください｡
これはまだ機能していますが､ 実際には､ 最初の項目をヒットしたときに関数から戻ります｡
もし､ 別の項目があったとして､ ここに2つあるとして､ 「実行」をクリックします｡
2つ手に入れる｡
それはなぜか？
だって､ 帰ってくるんですもの｡
1回目のループでは､ 偶数になります｡
はい､ そうです｡
そこで､ 追加していき､ 最終的に項目2だけを含むmaxイベントを返しています｡
ですから､ ここではインデントが本当に重要であることを確認したいのです｡
また､ ループの中から何かを返す場合､ それが意図した動作であることを確認したいものです｡
通常､ 何かをループさせてから戻りたいものです｡
だから､ 早々にループを抜けることがないように注意してください｡
シンプルで良いですね｡
あなたの答えは､ 私と違うかもしれないことを忘れないでください｡
いろいろな方法がありますが､ これを実践することで､ 機能のイメージがつかめるようになるといいですね｡
私たちは今､ プログラムの至る所で使える､ 最高のユーティリティ機能を手に入れたのです｡
ここまでよく頑張ったね､ 次回作で会いましょう｡