Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #41993

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

Date 2013-03-27 04:55 -0400
From Dave Angel <davea@davea.name>
Subject Re: True/False formats as 1/0 in a fixed width string
References <kiub99$q9u$1@ger.gmane.org>
Newsgroups comp.lang.python
Message-ID <mailman.3799.1364374559.2939.python-list@python.org> (permalink)

Show all headers | View raw


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

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: True/False formats as 1/0 in a fixed width string Dave Angel <davea@davea.name> - 2013-03-27 04:55 -0400

csiph-web