Задача "Украшение чека" от яндекса, python

Задача "Украшение чека" от яндекса, python


Вот мой код, но я не понимаю как правильно выровнять по краям числа, т.к. если написать большое число, оно выйдет за рамки. Переделывал код, в итоге ничего не получилось, выдает ошибку. Также есть закоменченная часть кода которая работает но нужно как то выравнивать по краю. Вот код:

a = str(input()) # Название
b = int(input()) # Цена
c = int(input()) # Вес
d = int(input()) # Кол-во денег

#print(f'{"Чек":=^32}\nТовар:{"": >30}{a}\nЦена:{"": >30}{c}кг * {b}руб/кг\nИтого:{"": >30}{(b*c)}руб\nВнесено:{"": >30}{d}руб\nСдача:{"": >30}{(d-b*c)}руб\n{"":=^35}')
print(f'{"Чек":=^32}')
print(f'Товар:{"": ^{(a)}}{a}')
print(f'Цена:{"": ^{(b)}}{(c)}кг * {(b)}руб/кг')
print(f'Итого:{"": ^{(b*c)}}{(b*c)}руб')
print(f'Внесено:{"": ^{(d)}}{(d)}руб')
print(f'Сдача:{"": ^{(d-b*c)}}{(d-b*c)}руб')
print(f'{"":=^32}')

UPD: Изменил код но всё равно не выравнивается

a = str(input()) # Название
b = int(input()) # Цена
c = int(input()) # Вес
d = int(input()) # Кол-во денег

print(f'{"Чек":=^35}')
print(f'{"Товар:": <35}{a}')
print(f'{"Цена:": <35}{c}кг * {b}руб/кг')
print(f'{"Итого:": <35}{b*c}руб')
print(f'{"Внесено:": <35}{d}')
print(f'{"Сдача": <35}{d-b*c}')
print(f'{"":=^35}')




Хоть автор уже и написал, что решил с помощью rjust, но я все равно решил опубликовать этот ответ. Возможно кому то пригодится:

a = input() # Название
b = int(input()) # Цена
c = int(input()) # Вес
d = int(input()) # Кол-во денег

print(f'{"Чек":=^35}')
print("Товар:" + a.rjust(29))
print("Цена:" + f'{c}кг * {b}руб/кг'.rjust(30))
print("Итого:" + f'{b*c}руб'.rjust(29))
print("Внесено:" + f'{d}'.rjust(27))
print("Сдача:" + f'{d - b * c}'.rjust(29))
print("=" * 35)

Вывод:

================Чек================
Товар:                     Проверка
Цена:               5кг * 100руб/кг
Итого:                       500руб
Внесено:                       2500
Сдача:                         2000
===================================




Report Page