2024-06-07 08:16:18 发布
网友
我正在用Python编写一个程序,从文件中读入银行数据,并将其存储在数据结构中,以便以后输出。在
我有一个存储事务的列表
D,520,W,20,D,100
其中字母是交易类型(取款或存款),数字是金额。在
我有一个for循环来计算余额,但是我很难到达下一个元素。在
基本上我想做的是:
谢谢你的帮助
一个简单的方法,这里。在
for i, v in enumerate(l): if v == 'D': balance = balance + int(l[i+1])
或者同时阅读两个项目:
data = 'D,520,W,20,D,100'.split(',') def pairs(lst): it = iter(lst) return zip(it, it) balance = 0 for trans,amt in pairs(data): if trans == 'D': balance += int(amt) else: balance -= int(amt) print(balance)
data = 'D,520,W,20,D,100'.split(',') it = iter(data) balance = sum({'W': -1, 'D': +1}[item] * int(next(it)) for item in it) print(balance)
创建一个迭代器并对其进行迭代。然后您可以调用next来获取下一项。在
next
或者不需要next,通过zip将列表中的项配对:
zip
或者效仿你的例子:
theList = 'D,520,W,20,D,100'.split(',') theIterator = iter(theList) balance = 0 for item in theIterator: if item == 'D': balance = balance + int(next(theIterator)) if item == 'W': balance = balance - int(next(theIterator)) print(balance)
一个简单的方法,这里。在
或者同时阅读两个项目:
^{pr2}$创建一个迭代器并对其进行迭代。然后您可以调用
next
来获取下一项。在或者不需要
^{pr2}$next
,通过zip
将列表中的项配对:或者效仿你的例子:
相关问题 更多 >
编程相关推荐