最小値のインデックスを求めたい


この問題がわからず困っています。

# 問題文

配列のst番目から最後の要素までの、最小値を探す。ただし、最小値の値そのものではなく、インデックスを求める。(何番目が最小値であるかを返す)下記の[ここを書く]にコードを入力せよ。

[code]

    def min_index(a,st):
      minidx=st # 先頭の要素のインデックスを最小値のインデックスとする
      for i in range(st+1,len(a)) # i番目のほうが最小値よりも小さいなら
        if[ここを書く]: # iを最小値のインデックスをする
          minidx = i
      return[ここを書く]
    
[/code]

先ほど挙げた実行例は別のプログラムでした、すみません！  
この問題の実行例は載っていませんでした。




このタイプの書き方は「最初から最後までの要素を順番にひとつずつ、記録を更新しながら見ていく」というパターンです。

リスト `[a, b, c, ..., d, e]` の要素の中でどれが一番小さい値なのか知りたいとき、もし `[a, b, c, ..., d]`
までの中でどこが一番小さいのかが分かっていれば、そこの値と `e` とをたった 1 回比べるだけで最小値を求めることができます。わざわざ他の全ての要素
`a, b, c, ..., d` に対して `e` と比べる必要はありません。

更に、`[a, b, c, ..., d]` の中で一番小さい値も、同じようにして「それまでの最小値」と `d`
を比べれば分かります。これを繰り返すと、まずは `a` と `b` のどっちが小さいか調べて、小さい方と `c`
とでどっちが小さいか調べて、……としていけば良いことが分かります。

今回のプログラムでは、このようにして最小値（のインデックス）を求めています。

まず、次のように `for` 文を書いて繰り返すことで、要素を最初から順番に見ています。

[code]

    for i in range(st+1, len(a)):
    
[/code]

次のこの部分では、「それまでの最小値」と「今見ている要素」のどちらが小さいかを調べます。

[code]

    if [ここを書く]:
    
[/code]

最後に、もし「今見ている要素」の方が小さいのであれば、その要素のインデックスを覚えておきます。

[code]

    minidx = i
    
[/code]

この動作を最後まで行えば、`minidx` に最小値のインデックスが代入されているはずです。ですので、これをそのまま返せば良いです。

[code]

    return [ここを書く]
    
[/code]

以上をまとめるとプログラムが書けます。念の為、完全に動作するプログラムを [Wandbox
に置いておきました](https://wandbox.org/permlink/kxfsVDwGz0oJFelP)ので、こちらも必要であればご覧ください。

