Вы можете просто использовать форматер %*d
, чтобы задать ширину. int(math.ceil(math.log(x, 10)))
даст вам количество цифр. Модификатор *
потребляет число, это число является целым числом, которое означает, сколько пробелов нужно разделить. Таким образом, выполнив '%*d'
% (width, num) `вы можете указать ширину и отобразить число без каких-либо дополнительных манипуляций со строками Python.
Вот решение, использующее файл math.log для определения длины номера outof.
import math
num = 5
outof = 52500
formatted = '%*d/%d' % (int(math.ceil(math.log(outof, 10))), num, outof)
Другое решение включает приведение числа outof в виде строки и использование len (), вы можете сделать это, если предпочитаете:
num = 5
outof = 52500
formatted = '%*d/%d' % (len(str(outof)), num, outof)