2017-04-25 10 views
1

ユーザー入力の配信情報を持っていて、forループを使用しようとしています。 IndexError:リスト割り当てインデックスが範囲外になっています"for"とリストの問題

情報が正しいかどうかを尋ねて、返さない場合は、それぞれの項目を入力してユーザーに入力させてもらいます。しかし、私は複数の方法を試した後、for文を正しく得ることができません。ありがとうございました。

+0

存在しないインデックスに割り当てることはできません。要素を追加するには* 'append()' *するか、少なくとも 'len(address_info) '要素で入力リストを開始する必要があります。 –

+0

'address = []'を 'address = {}'に変更し、forループで 'input(address_info [x])'を 'input(x)'に変更して 'x + = 1'行を削除してください。 – Szabolcs

+2

そして'x + = 1'を削除してください。 –

答えて

-1

インデックスを使用する代わりに、追加論理を使用してみてください。

address = [] 
address_info = ('Name:', 'Address:', 'City:', 'State', 'Zip Code') 

print('***DELIVERY METHOD***') 
print('Please enter the info below from customer...') 

for info in address_info:  # these are the values not indicies 
    user_input = input(info) 
    address.append(user_input) 

元のコードに問題がありました。まず、for-loopは、指標ではなくaddress_infoの値をループします。第2に、結果リストは追加によって増やす必要があります。リストにすでに置き換えられている位置に値があるまで、インデックス付きの割り当てを行うことはできません。

+0

ありがとうございます!それはうまくいきました...私は、コードをもう一度考え直していると考えました... –

+0

@MatthewPhaneuf喜んで助けました。私はこれが面白い答えがあるよい質問だったと思ったので、あなたにアップワイヤーをくれました。 –