2017-05-01 8 views
0

リストのインデックスが行数= int(値1)で範囲外です。私が見る限り、インデックス範囲に違反していません。 私はこれらをチェックしました
Python error - list index out of range?
list index out of range
しかしそれほど役に立たないです。Python:リストインデックスが範囲外のエラーを取得する

netAmount = 0 
while True: 
    s = raw_input() 
    if not s: 
     break 
    values = s.split(" ") 
    operation = values[0] 
    amount = int(values[1]) 
    if operation=="D": 
     netAmount+=amount 
    elif operation=="W": 
     netAmount-=amount 
    else: 
     pass 

print netAmount 

**編集され、後に印刷する分割方法 印刷が正常に動作しているが、エラーがまだ Output

+1

'vaues = s.split(" ")'の後に 'print values'を使用して結果を共有できますか? 'amount 'でも同じことをしてください – Malik

+0

あなたはどんな入力をしていますか? 2つ以上の単語を持つものが動作するはずです。 – zondo

+0

'' raw_input''への入力はあなたにエラーを与えていますか?一見して '' D 10''や '' W 20''と打ち込むとうまくいくはずです。 – Grimmy

答えて

2

を持続した後に分割が範囲外のリストにアクセスしないようにするためには、事前にテストを追加する必要があります。

netAmount = 0 
while True: 
    s = raw_input() 
    if not s or s=="0": 
     break 
    values = s.split(" ") 
    operation = values[0] 
    amount = int(values[1]) 
    if operation=="D": 
     netAmount+=amount 
    elif operation=="W": 
     netAmount-=amount 
    else: 
     pass 

print netAmount 
+0

なぜsとs == "0"が同じでないのですか – Bing

+0

sが ""かどうかチェックし、sが "0"なら意味がありません... – Neil

+0

さて、私は今、実際にはC/C++で作業していたので、それから類推を描いていました。 – Bing

関連する問題