填充與對齊
冒號后面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充,^、<、>分別是居中、左對齊、右對齊,后面帶寬度。
>>> 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))