在Python3.x.x中,如何在与扩充赋值相同的行上执行算术?

在Python3.x.x中,如何在与扩充赋值相同的行上执行算术?,python,arithmetic-expressions,Python,Arithmetic Expressions,在我的一个节目中, 我有以下几句话: a = (a * b) + a 其中a=30,b=0.05 结果输出为31.5 这很有效,但PyCharm告诉我我可以把它变成一个扩充任务 我知道a*=b和a=a*b是一样的 因此,我将这一行改写如下: a*=b+a 然而,在编译时,它输出了901.5的结果,这显然不是正确答案!把括号放在任何地方都不会改变结果,我想把它放在与增广作业相同的行中,而不是两行分开,所以实际上我有两个问题: 在同一行上,是否有可能使增广赋值以与初始等式相同的方式执行 如果

在我的一个节目中, 我有以下几句话:

a = (a * b) + a   
其中a=30,b=0.05 结果输出为31.5 这很有效,但PyCharm告诉我我可以把它变成一个扩充任务

我知道a*=b和a=a*b是一样的

因此,我将这一行改写如下:

a*=b+a

然而,在编译时,它输出了901.5的结果,这显然不是正确答案!把括号放在任何地方都不会改变结果,我想把它放在与增广作业相同的行中,而不是两行分开,所以实际上我有两个问题:

在同一行上,是否有可能使增广赋值以与初始等式相同的方式执行

如果不是,为什么我们不能对扩充赋值执行算术

你可以用

a += a * b
这将做a*b,然后+a,结果与:

a * b + a

那么a+=a*b呢?@Lukasz R.我真不敢相信我竟然没有想到要用它!哇,我真傻!哈哈,非常感谢!这就是为什么我是python的noob…当你写a*=b+a时,你计算的是a=a*b+a,也就是3030.05=901.5