这是我一直在努力的一个项目的一部分。我很难将心理伪代码与我可以实际编写的东西综合起来,这主要是由于个人对事物如何工作的误解。
我正在使用以下类跟踪虚构水果摊的库存:
class Fruit(object)
def __init__(self,name,qty,price)
self.color = str(color)
self.qty = int(qty)
self.price = float(price)
def getName(self): return self.color
def getQty(self): return self.qty
def getPrice(self): return self.price
def description(self): return self.color,self.qty,self.price
此类中的对象最终被导入为字典键的值。每个键可以有多个值,存储在一个列表中,这样当打印字典时,它会返回类似这样的内容(为了可读性而使用换行符:)
Lemon: [(Yellow, 5, 2.99)]
Apple: [(Red, 10, 0.99), (Green, 9, 0.69)]
Cherry: [(White, 2, 5.99),(Red, 5, 5.99)]
我现在正试图最终得到我想象中的水果摊上所有水果的总价值。我最初的想法只是将每个值视为一个列表,遍历列表直到我找到一个整数,将整数乘以它后面索引中的浮点数,然后将该数量添加到具有运行总计的变量中;然后继续寻找另一个整数。如果列表“Cherry”的“索引 1”不是 (Red, 5, 5.99) 而不是 (2),这会很好用。
所以,有几个问题。
每次我做这样的事情时,我有一个包含多个值的字典,这些值都是类对象,每个值都存储为括号(因为没有更好的方法来调用它。)这是应该发生的事情,还是我是否需要重新评估我正在做的事情的方式,因为我正在导致这种情况发生?
如果我不需要在这里重新评估我的选择,有没有办法打破“括号”(因为没有更好的东西可以立即想到它们)以便能够将整个事情视为列表?
有没有更好的方法来做我想做的不涉及遍历列表的事情?
提前致谢。一个星期以来,我一直在与这个问题的各个部分作斗争。