Python 类似的方法返回不同的结果

Python 类似的方法返回不同的结果,python,parentheses,Python,Parentheses,我有两个方法,都应该返回20,15,3,0,7,-50,但是第二个方法返回20,15,3,0,7,-200。这可能与变量的顺序有关,但我尝试过改变它,但它们仍然没有返回相同的答案 代码: 我看到了混乱。当计算f变量时,问题在于method2中的括号: f = 2*(g+l)*k 根据您的代码逻辑,它在数学上等于: f = 2*(a+f)*e 这使得a+f乘以2,然后再乘以k。在方法1中,您可以: f = (2*a+f)*e 这使得2*a和f相加,然后将结果乘以e。这两种方法的数学运算是相似

我有两个方法,都应该返回20,15,3,0,7,-50,但是第二个方法返回20,15,3,0,7,-200。这可能与变量的顺序有关,但我尝试过改变它,但它们仍然没有返回相同的答案

代码:


我看到了混乱。当计算f变量时,问题在于method2中的括号:

f = 2*(g+l)*k
根据您的代码逻辑,它在数学上等于:

f = 2*(a+f)*e
这使得a+f乘以2,然后再乘以k。在方法1中,您可以:

f = (2*a+f)*e

这使得2*a和f相加,然后将结果乘以e。这两种方法的数学运算是相似的,但它们是不同的

打字错误-您将括号移到了2*a+f*e和2*g+l*k之间。
f = (2*a+f)*e