Отображать число с начальными нулями
Как мне отобразить начальный ноль для всех чисел, состоящих менее чем из двух цифр?
1 → 0110 → 10100 → 100
Переведено автоматически
Ответ 1
В Python 2 (и Python 3) вы можете сделать:
number = 1print("%02d" % (number,))
По сути, % похож на printf or sprintf (см. Документы).
printf
sprintf
Для Python 3.+ такое же поведение также может быть достигнуто с помощью format:
format
number = 1print("{:02d}".format(number))
Для Python 3.6+ того же поведения можно добиться с помощью f-строк:
number = 1print(f"{number:02d}")
Ответ 2
Вы можете использовать str.zfill:
str.zfill
print(str(1).zfill(2))print(str(10).zfill(2))print(str(100).zfill(2))
С принтами:
0110100
Ответ 3
В Python 2.6+ и 3.0+ вы бы использовали format() метод string:
format()
for i in (1, 10, 100): print('{num:02d}'.format(num=i))
или с помощью встроенного (для одного числа):
print(format(i, '02d'))
Смотрите документацию по PEP-3101 для новых функций форматирования.
Ответ 4
print('{:02}'.format(1))print('{:02}'.format(10))print('{:02}'.format(100))