我试图在python列表上执行单独的数学运算。举个例子:
[1000, 0.15, 1150, 0.1, 0.2, 828, 49.68, 877.68, 100, 977.68]
我想将1000乘以0.15,然后取该值并将其加到1000(结果= 1150)。
然后我想在1150上使用同一列表中的值执行其他数学运算(除法,乘法,加法等)。
这里最好的一般方法是什么?
我没有找任何人给我写所有的代码,但是numpy是最好的方法吗?我可以使用for循环来实现吗?
答案 0 :(得分:1)
您只需索引列表中的位置即可完成此操作...
<root>
<a>
<b>
<c>hi</c>
</b>
</a>
<a>
<b>
<c>hi</c>
</b>
</a>
</root>
等
答案 1 :(得分:0)
您可能需要进一步详细说明,但我会采用以下假设:
我不是python开发人员,我做了更多的ruby,但是让我们假装这是python代码,不是吗?我将使用伪代码,以便每个人都可以通过将其翻译成您选择的语言来从中受益。
class OperationParser
def parse(Array operations)
set_base_charge(operations[0])
set_upcharge_for_something(operations[1])
...
set_other_value(operations[2])
...
# continue to set and store the different values from the array here
end
def set_base_charge(int _base_charge)
self.base_charge = _base_charge
end
def set_upcharge_for_something(float upcharge)
# notice how I added 1 so that the math in the premium calculator is easy.
# You could argue that this isn't a proper separation of concerns depending
# on how your business and these values are going to change
self.upcharge_for_something = 1.0 + upcharge
end
end
class PremiumCalculator
def calculate_premium(OperationParser operation_parser)
operation_parser.base_charge *
operation_parser.upcharge_for_something +
... # continue the mathematical operation here
end
end
我会使用测试或规范驱动开发来测试或指出上面的两个对象。我不太了解,但你给我的是你有两个不同的问题。
真的有第三个问题,如果是我,我会专注于它,但你的企业可能不会决定它的必要性(或者至少不是在这个代码的第1版中),但是......在我看来,另一个问题是这些&#34;静态&#34;变量。可以通过对数组索引使用常量或其他方法来抽象这种关注。有点像...
class OperationParser
BASE_CHARGE_INDEX = 0
UPCHARGE_FOR_SOMETHING_INDEX = 1
end