首页 > 解决方案 > 很难掌握 *= 功能

问题描述

因此,如果

balance = int(100)
balance *= 0.05

因为余额是可变的,所以不应该等于 105 吗?相反,我只得到 5 个。

如果我添加另一行代码,例如

balance = int(100)
balance *= 0.05
balance *= 0.05

输出将是 0.25,基本上我的变量没有结转,我只是将最终结果乘以 5%

如果我添加

balance= int(100)
balance *= 0.05 + balance

我得到 10005

我认为 += 或 *= 函数可以用于一个带变量的方程,做方程然后结转变量+结果作为新变量。

我如何为多步方程做到这一点。

标签: python

解决方案


balance = int(100)
balance *= 0.05

是相同的

balance = int(100)
balance = balance * 0.05

你不会说那是 5,而不是 105?

A *= B 只是 A = A * B 的简写。

您的第三个示例与以下示例相同:

balance= int(100)
balance = balance * (0.05 + balance)

再一次,你得到了我认为你期望从这段代码中得到的东西。

顺便说一句,您不需要 int()。100 本身是“int”类型的文字值。因此,陈述您的第一个代码块的最简洁方式是:

 balance = 100 * .05

推荐阅读