2016-10-26 3 views
0

ファイルを渡して配列に格納することで、コマンドラインから入力しようとしました。私のようにエラーになっM Iは私の入力は空白で区切られた2つの単語である知っているので、私はこれにPythonのコマンドラインからの入力を受け入れる際のエラー

import sys 
for line in sys.stdin: 
    a=[] 

    a=line.split() #to split the 2 words separated by white space into 2 list elements 

    print a # just to debug my code 

    edges(a[0], a[1]) #calling the function edges 

を試してみました : -

edges(a[0], a[1]) 
IndexError: list index out of range 

は、誰かが私が間違っているの何をお勧めすることはできますか?

ありがとうございます

+0

「プリントa」プリントとは何ですか? –

+0

'edges()'は何をしていますか?それはリストの入力を期待していますか? 'a'を印刷して2つの要素があることを確認した場合、それは問題ではありません。 – Brian

+0

@Brianこの関数は、最初に渡された要素を取得し、辞書値として格納し、2番目の要素を辞書キーとして格納します。 – john

答えて

0

単語を入力するインデックスを指定してみてください。これは、リスト/配列のオーバーフローを防ぎ、 "インデックスの範囲外"エラーを引き起こします。

EDIT 最初の要素をキーとして保存してから値を保存しようとしています。 「k」や「v」などのカウンターを使用して、追跡してオーバーフローを回避してください。

ご希望の場合は、

+0

はい、このカウンタは私が問題をデバッグするのに役立ちました、ありがとうございます! – john

+0

この時点で、適切なコードを教えてください... –

関連する問題