Converting a number to binary with a fixed length

前端 未结 4 645
长发绾君心
长发绾君心 2020-12-01 09:08

Say I get a random number between 1 and 127. I change the number to binary and remove the 0b from it with the fallowing code:

key_one= int(raw_i         


        
相关标签:
4条回答
  • 2020-12-01 10:01

    Try this:

    for i in range(1, 127):
    '0'*(7-len(bin(i)[2:]))+bin(i)[2:]
    
    0 讨论(0)
  • 2020-12-01 10:04

    So it happens that Python has a string method .zfill() for that:

    >>> '1'.zfill(7)
    '0000001'
    >>> '10010'.zfill(7)
    '0010010'
    
    0 讨论(0)
  • 2020-12-01 10:11

    No you don't.

    >>> '{0:07b}'.format(12)
    '0001100'
    
    0 讨论(0)
  • 2020-12-01 10:12

    With Python 3.6's new f-strings, you can now do:

    key_one = int(input("Enter key (0 <= key <= 127): "))
    
    if key_one in range(128):
        bin_key_one = f'{key_one:07b}'
        print(bin_key_one)
    else:
        print("You have to enter key (0 <= key <= 127)")
    
    0 讨论(0)
提交回复
热议问题