あと少しで､ ゴールが見えそうなんだ｡
だから頑張るんだ｡
これでハッシュとカウントが揃ったので､ 各項目をループしながら､ ここでスキャンされたパスワードリークを取得する関数を完成させることができます｡
何を確認したいのか？
さて､ ここでハッシュの物語であるハッシュかどうかを確認したいと思います｡
はhashと等しい｡
確認する､ 記憶する､ ハッシュする｡
チェックするのは､ 自分のマシンにある誰にも送ったことのないハッシュパスワードの末尾です｡
だから､ 安心感があっていいんです｡
そして､ APIがこれらのテーリングされたハッシュのリストを返してくれたので､ これを確認することにします｡
だから､ それがうまくマッチすれば､ その場合はカウントを返してほしい｡
だから､ このパスワードが何回流出したのか返したいんです｡
それ以外はリターンするだけです｡
ゼロです｡
繰り返しになりますが､ returnキーワードを見るたびにこのループから抜けるので､ これができるのです｡
さて､ pwned APIチェックでは､ この関数を実行し､ intelがこれらの情報をすべて取得し､
ハッシュ化されたパスワードが漏れた回数を返します｡
そこで､ 最後にもうひとつ｡
それは､ これらの計算結果を実際にプリントアウトする機能です｡
そこで､ とりあえずこれを削除して､ main関数を作ってみましょう｡
そしてこのmain関数は､ コマンドラインで指定した引数を受け取ります｡
そこで､ 前にも見たことがあるかもしれませんが､ CISモジュールをインポートします｡
そしてこの中に､ チェックしたいパスワードの引数を受け取るmain関数があります｡
そして､ とりあえずはここを通過します｡
しかし､ 一番下にはmain関数を呼び出します｡
CISのドットRVとaccept any number of arguments after we do the python three check my past up pi and then we give it all arguments that
we want, which are passwords.これはパスワードです｡
そこで､ このような関数を実行します｡
このメイン機能｡
複数のパスワードを与えることができるので､ 引数でfor passwordと言うだけです｡
それをループさせるんです｡
そして､ シャ・ワン・パスワードを持つことになる｡
そして､ カウント､ あるいは､ get password leaks countからカウントを受け取るので､ カウントをするだけです｡
だから､ pwned api checkをするだけで､ それが可能になるのです｡
そして､ 確認するパスワードを渡します｡
そして､ これからやることは､ このブロックの中で､ もしcountが存在するならば､ F文字列を表示して､
このF文字列は次のように言うことです｡
その
ループしているパスワード｡
発見された｡
何回目のカウントですか？
そして､ 変えた方がいいんじゃないかと言うことになる｡
あなたのパスワード
それ以外は｡
ノーカウント､ つまり試合がないということであれば､ 問題ないでしょう｡
と言うことができます｡
文字列の場合｡
パスワード
見つかりませんでした｡
続けてください｡
だから､ パスワードはこれでいいんです｡
続けてください｡
皆さんは大丈夫です｡
そして最後に､ ちょっと面白いので､ この関数の外に出てみましょう｡
戻る？
そんな感じで出来上がりました｡
これを保存すると､ 何が出てくるか見てみましょう｡
パイソン3ってことで｡
私のパスを確認し､ 確認しよう｡
もしもし？
得ることができます｡
こんにちは｡
続けていても面白くはないのですが､ 以前からハローが見つかっていたことは知っています｡
そうですね｡
つまり､ 簡単なパスワードです｡
ここで実際に何か良いものを手に入れるべきでしょう｡
さて､ このプリントの反応も消したい｡
もう必要ないのだから､ エラーを見抜けるか？
繰り返しになりますが､ Pythonの場合はここがちょっと厄介なんですよね｡
インデントといい､ どこかで見たことがあるようなものです｡
だから､ 自分のコードを上手にデバッグして､ この場合はどうなるのかを考えたい｡ コードを一歩一歩進めていけばいいのですが､
うーん､ 実はこのcount関数はテストしたことがなかったな､ と考えることができます｡
そして､ こちらを見てみると､ インデントが少しずれていますね？
ifチェックはしていますが､ その後は常にゼロを返しています｡
forループの後､ このように返されるはずです｡
すべて確認した結果､ 一致するものはありませんでした｡
それなら､ ゼロを返せばいいのです｡
そこで､ これを保存して再度実行すると
よし､ これで動くようになった｡
単純なちょっとしたミスで､ まったく違う結果になることに気づきましたね｡
だから､ ステップバイステップで､ すでに効果があると分かっているもので何かを試してみるのは､ 常に良いことだと思います｡
そして､ コースを通して身につけたデバッグのスキルを使って､ いろいろと試してみることも大切です｡
さて､ どんなプログラマーも､ いきなり完璧なプログラムを書くことはできません｡
ほとんどの場合､ なぜこのエラーが出るのか､ なぜこのようなことが起きるのかを考えようとしますが､
これはコードを書いているうちにだんだん上手くなっていくものです｡
だから､ これを治すには､ ひたすらコーディングを続けるしかないんです｡
このコースを通して､ 私がどのようにデバッグしているのか､ いくつかのエラーを見て､ これらのパターンを採用するようになることを願っています｡
とにかく､ これはすごい｡
これがようやく効いてきた｡
もうちょっと試してみよう｡
バイバイと言いながら､ ちんぷんかんぷんなことも言ってみよう｡
わかりました｡
これもうまくいっているようですね｡
これはすごい｡
パスワードチェッカーが作動しています｡
さて､ ここでもう一つやっておきたいことがあります｡
このプロジェクトの仕上げに
では､ 次の動画でやってみましょう｡