Как написать пять нулей?
Напишите программу, которая заполняет число 0. Один байт состоит из 8 бит. пример 101 = 00000101. Я хотел написать программу, но не понял как написать пять нолей перед 101.
a = input()
b = 8 - len(a)
print(b)
А потом, как сделать что бы пять нолей с начала, я не знаю.
Ответы (4 шт):
вариант 1:
a = input()
b = 8 - len(a)
print(f'{"0" * b}{a}')
вариант 2:
a = input()
print(('0' * 8 + a)[-8:])
Используйте метод строки zfill:
print('101'.zfill(8))
# 00000101
Пример:
a = input()
b = a.zfill(8)
print(b)
S.zfill(width), где S - строка, делает длину строки не меньшей width, по необходимости заполняя первые символы нулями. Справка.
Для коллекции добавляю ещё одно экзотическое решение, без строковых операций, только использующее конвертацию между системами счисления (двоичной и десятичной) (конечно, на заднем плане в неявном виде там работа со строками всё таки идёт).
Заодно, моя микро-программа проверяет корректность введённых данных, что введено именно целое число только из 0 и 1 цифр и ничего кроме, если введено что то другое - будет исключение.
print(bin(256 + int(input(), 2))[3:])
Ввод:
101
Вывод:
00000101