将多个值附加到Python中的列表,同时通过另一个列表递增

时间:2017-07-22 03:27:24

标签: python list

这样做的目的是定期输入每个帐户的金额和日期。帐户是静态的(但可以附加更多帐户)。我想要做的是循环每个帐户,并为每个帐户输入金额和日期。我做错了,我认为在增量行,可能还有追加行

之后,我想以一种有意义的方式将结果打印到屏幕上(我知道我的内容不正确,不会以合理的方式显示)

有什么想法吗?感谢

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)

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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)

此外,您的所有列表(帐户,金额,日期)都是按索引链接的。使用字典比其他人发布更清晰。