YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← 11-41 Find Element Solution

11-41 Find Element Solution

Get Embed Code
5 Languages

Showing Revision 1 created 07/21/2014 by osawakjvta.

  1. この問題を解くことのできる方法はたくさんあります
  2. まずwhileループを使用して
    これを解く方法を見てみましょう
  3. find_element関数を定義します
  4. リストの名前としてp ターゲットの名前としてtを使い
  5. 一致させたい要素を使用します
  6. 以前学習したリストを処理する
    whileループと同じように
  7. pの要素を処理するループを定義します
  8. whileループがあります 変数iを挿入しました
  9. ループを実行するために
    インデックスとしてそれを使用します
  10. whileループの停止条件はiがlen(p)に達した時です
  11. そのためwhileループのテストを
    i<len(p)にする必要があります
  12. whileループのブロックで現在の要素が
    tと一致するかどうか調べ
  13. p[ i ]を用いて現在の要素を取得し
    ダブルイコールを使用してtと等しいかテストします
  14. 一致すると認められた場合は
    2つの値が等しいということになり
  15. 見つけたインデックスを返します
  16. 結果はiの値になるはずです
  17. これは一致する要素を見つけるインデックスです
  18. forループの代わりにwhileループを使用する時に
    気をつけることは
  19. インデックスの変数を増やす必要があるのを
    忘れがちになることです
  20. このようにループをそのまま残したら
    延々と実行されます
  21. なぜなら1つ目の要素と一致しない限り
    iの値が永遠に変わらないからです
  22. この場合はゼロを返します
  23. ループは延々と継続します
    もう一度1つ目の要素を調べます
  24. iの値を増やす必要があります
  25. それはwhileブロックの終わりです
  26. find_element関数で行うべきことを
    解説した時のように
  27. 要素が見つからなければ-1を返します
  28. 返すことなくwhileループの終わりまできた場合
  29. iのすべての値をlen(p)-1まで
    whileループすることになります
  30. 一致する要素を見つけ出すことはできません
    ですから-1を返します
  31. これがfind_elementを定義する1つの方法です
  32. forループを使用して定義する方法も紹介します
  33. forループよりwhileループで
    find_elementを定義することから考え始めるのが
  34. より自然な理由はfind_elementから
    返す必要のある値がインデックス自体だからです
  35. ループの要素を処理する一般的な構文で
    forループを使用した時
  36. インデックスを追跡しません
  37. 順番にそれぞれの要素を見ていくだけです
  38. つまりインデックスを追跡するために
    他のものを追加する必要があります
  39. なぜならそれが返す必要のある値だからです
  40. インデックスを追跡する変数を
    使用する必要があります
  41. whileループで行ったように
    その変数としてiを使用します
  42. ここでwhileループの代わりにforループを置きます
  43. すべての要素を1つ1つただ見ていくだけなので
    停止条件を考える必要はありません
  44. whileループ本体と同様に
    現在の要素がtと等しいかどうか調べます
  45. forループでは変数eを用いて現在の要素を取得します
  46. これはループ本体を通過するたびに
    現在の要素に代入されるものです
  47. eとtを比較するために
    ダブルイコールを使用してテストします
  48. whileループで行ったように一致すれば結果を返します
  49. 返したい結果は一致すると分かったインデックスです
  50. whileループではそれが明白でした
  51. 要素pとインデックスiを見るので
    意味をなしていました
  52. forループの場合はインデックスがどこにあるか
    把握するためにもっと気をつけなくてはなりません
  53. そのインデックスを追跡するために変数iを使用します
    ですからiを返します
  54. iはゼロで開始します
  55. ループを終えるたびにiを増やす必要があります
  56. 要素を処理すると同時に
    現在のインデックスを追跡します
  57. 以前の定義と同様にwhileループがある時
  58. それを見つけ出すことなく終了する場合
    要素がpに存在していないことになります
  59. そして-1を返す必要があります
  60. ここで同じことを行います