2017-07-22 9 views
0

これは、各アカウントの金額と日付を定期的に入力することを目的としています。アカウントは静的です(ただし、追加される可能性があります)。私がしようとしているのは、各口座をループし、口座ごとに金額と日付を入力することです。私は間違ったことをしています、私はインクリメントラインとおそらく追加ラインを考えていますPythonのリストに複数の値を追加して別のリストを追加する

その後、私は結果を画面に印刷したいと思います。賢明な方法で表示されません)

アイデア?おかげ

account = ['401k', 'RothIRA', 'HSA'] 
amount = [] 
date = [] 

while True: 
    print('Enter the amount for your ' + account[0] + ' account') 
    act = input() 
    amount.append(act) 
    print('Enter the date for this total') 
    dt = input() 
    date.append(dt) 
    account[] += 1 
    if act == '': 
     break 


print(account, amount, date) 
+0

あなたのソリューションは、辞書のために叫んでいます。私は強くあなたがこれを作るための辞書を使用することをお勧めします。 – idjaw

+0

'account [] + = 1'は必要ありません。 'append'を実行すると、リストのサイズは自動的にインクリメントされます。 – ksai

+0

@idjawありがとうございました。辞書を試しましたが、どちらかといえばそれほど遠くには達しませんでした。 – JD2775

答えて

1

私は、これはあなたが何をしようとしてあると思う:

i = 0 

while i < len(account): 
    print('Enter the amount for your ' + account[i] + ' account') 
    act = input() 
    amount.append(act) 
    print('Enter the date for this total') 
    dt = input() 
    date.append(dt) 
    i += 1 

ように、ループのために使用することをお勧めします続く。

for i in account: 
    print ('Enter amount for your',i,'account') 
    act = input() 
    amount.append(act) 
    print ('Enter date') 
    dt = input() 
    date.append(dt) 

また、すべてのリスト(アカウント、金額、日付)はインデックスでリンクされています。誰かが投稿したように辞書を使う方がはるかにクリーンです。

1

は、データ構造のわずかな変化後:

account={ '401K': { 'amount' : 0, 'date': 0 }, 
      'ROthIRA': { 'amount':0, 'date': 0}, 
      'HSA': { 'amount': 0, 'date': 0} } 

for eachKey in account.keys: 
    account[eachKey]['amount'] = input() 
    account[eachKey]['date'] = input() 


print account 
+0

ありがとうございます。明らかに、私はこの作業をより良くするために辞書を調べる必要があります。両方のコード例をありがとう – JD2775

関連する問題