Q.) WRITE THE OUTPUT OF THE FOLLOWING:
a=12 b=7.4 c=1 a-=b print(a,b) # I understood this much a*=2+c print(a)
Мой ответ - 10,2, тогда как ответ должен быть 13,799999999999999.
Я просто просмотрел ваш код и получил повторение 13,79, не уверен, в чем ваша проблема.
Расширенное задание *=
оценит всю правую часть, а затем умножит левую часть на результат. Здесь вы путаете приоритеты операторов и думаете, что сложение происходит после умножения, но это не так.
Итак, перед расширенным назначением a
- это 4.6
, а c
- это 1
, тогда a *= 2+c
совпадает с a *= 3
, который является a = a * 3
или примерно 13.8
(repr
равен 13,79999 ... но если вы используете print
, он будет округлен до разумного числа).
У вас есть вопрос? Какую часть вы не понимаете? Вы должны делать это в уме или пользоваться переводчиком?