2016-09-07 17 views
-1

シンプルなSSTFプログラムを実装しようとしていて、入って来たプロセスのキューを反復しようとしていますが、インデックスエラーの "。要素を削除した後のインデックスのリスト - python

for i in xrange(0,len(queue)): 
    for j in xrange(0,(len(queue))): 
     a = abs(queue[j]-initial_position) 
     if(min>a): 
      min = a 
      pos = j 

initial_position=queue[pos] 

final_queue.append(initial_position) 
del(queue[pos]) 

完全なエラーメッセージ:

initial_position=queue[pos] 
IndexError: list index out of range 

は、私は本当に困惑しています。

+3

コードをインデントしてください。投稿されたコードには何のスコープがあるのか​​わかりません。 – amit

+2

"デバッガを使う、Luke"はObi-wanが開発者だったと言ったことです。クォートルール: "デバッグのヘルプを求める質問(" **なぜこのコードは動作しないのですか?** ")には、目的の動作、**特定の問題またはエラー**、および問題の再現に必要な最短コード**明確な問題文**を持たない質問は、他の読者にとっては有用ではありません。参照してください:[最小限の完全で検証可能な例(http://stackoverflow.com/help/mcve)]を作成する方法を参照してください。 – ray

+0

これは大丈夫です@amit –

答えて

1

minとposを適切に初期化していない(たとえば、minが十分に小さくないなど)ため、値posは決して設定されていないと思います。キュー[pos]は未定義の位置を指します。

関連する問題