!
будет отрицать (противоположно) то, что вы ожидаете в результате, т. е. если вы
var boy = true;
undefined
boy
true
!boy
false
, когда вы вызываете boy
, ваш результат будет true
, но в момент добавления !
при вызове boy
, т. е. !boy
, ваш результат будет false
. Иными словами, вы имеете в виду NotBoy, но на этот раз это в основном логический результат: true
или false
.
Это то же самое, что происходит с выражением !function () {}();
, работающим только function () {}();
отметит вам ошибку, но добавит !
прямо перед вашим выражением function () {}();
, делает ее противоположной function () {}();
, которая должна вернуть вас true
. Пример можно увидеть ниже:
function () {}();
SyntaxError: function statement requires a name
!function () {}();
true
salary = 1000
interest = 0.002 * salary
x = 0
sum_of_yes=0
while x < 12:
yes = 0.15 * salary
salary += interest
x += 1
sum_of_yes+=yes
print sum_of_yes
Если вы установите yes
на ноль перед циклом, вы можете просто +=
сделать это:
salary = 1000
interest = 0.002 * salary
x = 0
yes = 0
while x < 12:
yes += 0.15 * salary
salary += interest
x += 1
print(yes)
Это может быть лучше выполнено в цикле for
, чем в while
:
salary = 1000
interest = .002 * salary
x, total_yes = 0, 0
# This will keep track of x for you
for x in range(12):
yes = 0.15 * salary
salary += interest
total_yes += yes
print(total_yes)
Думаю, я бы использовал понимание списка в сочетании с функцией: