基本上,我要做的是显示支出列表中属于同一类别的所有项目,然后是每个类别的合计,最后是总体合计。例如:
$12.00 Mon, 12 Aug 2019 Food
$15.25 Mon, 12 Aug 2019 Food
Total for Food = $27.25
$8.40 Wed, 14 Aug 2019 Drinks
Total for Drinks = $8.40
$33.00 Tue, 13 Aug 2019 Entertainment
Total for Entertainment = $33.00
Overall Total = $178.55
class ExpenditureList:
_types = ['Food','Entertainment', 'Drinks']
def __init__(self):
self._expenditures = []
@classmethod
def ExpenditureTypes(cls):
return cls._types
def __str__(self):
exp = {}
temp = None
for types in ExpenditureList._types:
exp[types] = {'item': []}
exp[types]['Amount'] = []
for item in self._expenditures:
if item._type == ExpenditureList._types[0]:
exp[item._type]['item'].append(item)
exp[item._type]['Amount'].append(item._amount)
elif item._type == ExpenditureList._types[1]:
exp[item._type]['item'].append(item)
exp[item._type]['Amount'].append(item._amount)
elif item._type == ExpenditureList._types[2]:
exp[item._type]['item'].append(item)
exp[item._type]['Amount'].append(item._amount)
for k,v in exp.items():
if temp == None:
temp = f"{v['item']}\n"
else:
temp = temp + f"{v['item']}\n"
return temp
根据以前的评论作了一些改动
你的问题是这两行(加上其他几个点):
导致错误的最小示例:
我想你的意思是:
但你的另一个逻辑却令人困惑:
相关问题 更多 >
编程相关推荐