Преобразование числа в двоичный с фиксированной длиной

Скажем, я получаю случайное число от 1 до 127. Я меняю номер на двоичный и 0b из него с помощью кода:

 key_one= int(raw_input("Enter key (0 <= key <= 127): ")) if key_one in range(128): bin_key_one=bin(key_one)[2:] print bin_key_one else: print "You have to enter key (0 <= key <= 127)" 

Теперь я хочу сделать его длиной 7 символов, заполнив начало нулями по мере необходимости. Я думаю, мне нужно использовать цикл for, но может ли кто-нибудь показать мне, как это сделать?

3 Solutions collect form web for “Преобразование числа в двоичный с фиксированной длиной”

Нет, нет.

 >>> '{0:07b}'.format(12) '0001100' 

Так получилось, что Python имеет строковый метод .zfill() для этого:

 >>> '1'.zfill(7) '0000001' >>> '10010'.zfill(7) '0010010' 

Попробуй это:

 for i in range(1, 127): '0'*(7-len(bin(i)[2:]))+bin(i)[2:] 
Python - лучший язык программирования в мире.