format详解

填充与对齐

冒号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充,^、<、>分别是居中、左对齐、右对齐,后面带宽度。

>>> print("{:5d}".format(10))
   10
>>> print("{:05d}".format(10))
00010
>>> print("{:^05}".format("##"))
0##00
>>> print("{:<05}".format("##"))
##000
>>> print("{:>05}".format("##"))
000##

精度与类型

整数:b、d、o、x分别是二进制、十进制、八进制、十六进制;
浮点型:f

>>> print("{:b}".format(10))
1010
>>> print("{:d}".format(10))
10
>>> print("{:o}".format(10))
12
>>> print("{:x}".format(10))
a
>>> print("{:f}".format(10))
10.000000

位置

>>> print("{1:.3f} , {0:02d}".format(5, 10.11))
10.110 , 05
>>> print("{name:6} , {age:02d}".format(age=5, name="marvin"))
marvin , 05

下面是一道蓝桥杯练习系统的题目,利用format可以很方便地解决:

问题描述

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100

请按从小到大的顺序输出这32种01串。

输入格式
本试题没有输入。

输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。

样例输出
00000
00001
00010
00011
<以下部分省略> 
for i in range(32):
    print("{:05b}".format(i))

 

posted @ 2020-02-08 17:51  Marvin-wen  阅读(1256)  评论(0编辑  收藏  举报