ユーザー入力の配信情報を持っていて、forループを使用しようとしています。 IndexError:リスト割り当てインデックスが範囲外になっています"for"とリストの問題
情報が正しいかどうかを尋ねて、返さない場合は、それぞれの項目を入力してユーザーに入力させてもらいます。しかし、私は複数の方法を試した後、for文を正しく得ることができません。ありがとうございました。
ユーザー入力の配信情報を持っていて、forループを使用しようとしています。 IndexError:リスト割り当てインデックスが範囲外になっています"for"とリストの問題
情報が正しいかどうかを尋ねて、返さない場合は、それぞれの項目を入力してユーザーに入力させてもらいます。しかし、私は複数の方法を試した後、for文を正しく得ることができません。ありがとうございました。
インデックスを使用する代わりに、追加論理を使用してみてください。
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に、結果リストは追加によって増やす必要があります。リストにすでに置き換えられている位置に値があるまで、インデックス付きの割り当てを行うことはできません。
ありがとうございます!それはうまくいきました...私は、コードをもう一度考え直していると考えました... –
@MatthewPhaneuf喜んで助けました。私はこれが面白い答えがあるよい質問だったと思ったので、あなたにアップワイヤーをくれました。 –
存在しないインデックスに割り当てることはできません。要素を追加するには* 'append()' *するか、少なくとも 'len(address_info) '要素で入力リストを開始する必要があります。 –
'address = []'を 'address = {}'に変更し、forループで 'input(address_info [x])'を 'input(x)'に変更して 'x + = 1'行を削除してください。 – Szabolcs
そして'x + = 1'を削除してください。 –