我已经建立了一个非常基本的计算方法来计算可变年限的复利。我这样定义变量:
>>> initial = 100
>>> rate = 1.1
>>> years = 5
>>> final = (initial*rate**years)
我认为这段代码很好,因为我可以得到这样的正确答案:
>>> print(final)
161.051...
好的,现在我想给变量赋值,然后用新变量再试一次。所以我这样做:
>>> rate = 1.05
>>> print(final)
161.051...
不管我重新分配变量多少次,答案都是一样的。你知道吗
我错过了什么?我对所谓的指针算术有一些模糊的记忆,我想知道这是否相关,但我似乎在任何地方都找不到答案。你知道吗
根据对问题的注释,重新计算类似的内容的最简单方法是定义一个执行计算的函数。你知道吗
例如
然后可以这样称呼:
为了清楚起见,这里包含了参数名,但在调用函数时实际上并不需要:
或者,如果您定义了一个类,那么您可以使用属性。我认为这是杀伤力过大,但OP特别问起了。你知道吗
然后需要创建类的实例才能使用它:
假设你有两桶油漆:红色和蓝色。你从每一个桶里取些颜料,混合在第三个桶里。令人惊叹的!现在你有了额外的紫罗兰色。现在你把红色的油漆桶换成绿色的油漆桶。第三个桶的颜色会改变吗?不,为什么?你把颜色混在一起后就没碰过它。你知道吗
现在我们来谈谈你的代码。在乘法之后,你从来没有改变“final”变量,你只是改变了它的一个因子。所以要注意这个变化,你必须再次乘以:
当你不再计算时,为什么最终的值会改变呢! 分配新的比率值后,需要再次计算final的值。只有python会计算final的新值。你知道吗
相关问题 更多 >
编程相关推荐