String Formatting

  • + 0 comments

    So, I love f-strings. This was the first time I've seen where something seemed a bit more hacky than with format strings, but I made it work. In particular, the start_pad bothers me, not sure why >{pad}d did not work.

    pad = len(bin(number)[2:])
    for i in range(1, number+1):
        start_pad = ' ' * (pad - len(str(i)))
        print(f"{start_pad}{i} {i:>{pad}o} {i:>{pad}X} {i:>{pad}b}")
    

    The [2:] is to strip the '0b' off the start of the return value from bin().