Форум сайта python.su
Помогите решить задачку.
Кассовый аппарат вместо привычных продавцу десятичных чисел начал выдавать двоичные.Мой код такой
Техподдержка приедет только завтра, а магазин должен продолжать работать. Надо помочь.
Формат ввода
В первой строке записано десятичное число — общая сумма купленных в магазине товаров на данный момент.
Во второй строке указано двоичное число — сумма за последнюю покупку.
Формат вывода
Одно десятичное число — сумма прибыли за день с учётом последней покупки.
price = int(input()) summa = int(input()) st = 0 res = 0 while summa: res += (((summa % 10) * 2) ** st) summa //= 10 st += 1 print(f'{res + price}')
Отредактировано anotcher (Дек. 14, 2022 22:36:10)
Офлайн
>>> a = 783 >>> b = 10110111 >>> >>> oldb = b >>> newb = n = 0 >>> while oldb: ... newb += oldb % 10 * 2 ** n ... oldb //= 10 ... n += 1 ... >>> out = a + newb >>> print(out) 966 >>>
Офлайн
py.user.nextВообще убрал все скобки со своего примера - все решилось, спасибо за подсказку)
Офлайн