Re: True/False formats as 1/0 in a fixed width string

Discussion in 'Python' started by Dave Angel, Mar 27, 2013.

  1. Dave Angel

    Dave Angel Guest

    On 03/27/2013 04:40 AM, Frank Millman wrote:
    > Hi all
    >
    > This is a bit of trivia, really, as I don't need a solution.
    >
    > But someone might need it one day, so it is worth mentioning.
    >
    > >>> '{}'.format(True)

    > 'True'
    > >>> '{:<10}'.format(True)

    > '1 '
    >
    > One might want to format True/False in a fixed width string, but it
    > returns 1/0 instead. Is there any way to make this work?
    >
    > Frank Millman
    >


    Easiest way is to surround the boolean variable with repr()

    flag = True
    '{:<10}'.format(repr(flag))

    An alternative is to just use something like:

    ["False ","True "][flag]

    making sure the two strings are of the same length.

    (You didn't specify version, but I tested these with CPython 2.7.3)

    --
    DaveA
    Dave Angel, Mar 27, 2013
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. bdb112
    Replies:
    45
    Views:
    1,321
    jazbees
    Apr 29, 2009
  2. Frank Millman
    Replies:
    0
    Views:
    85
    Frank Millman
    Mar 27, 2013
  3. Peter Otten
    Replies:
    0
    Views:
    90
    Peter Otten
    Mar 27, 2013
  4. Frank Millman
    Replies:
    0
    Views:
    111
    Frank Millman
    Mar 27, 2013
  5. Frank Millman
    Replies:
    0
    Views:
    118
    Frank Millman
    Mar 27, 2013
Loading...

Share This Page