第一種:使用 format
左對(duì)齊
>>> "{:<10}".format("a")
'a '
右對(duì)齊
>>> "{:>10}".format("a")
' a'
居中
>>> "{:^10}".format("a")
' a '
當(dāng)你不指定 <
、>
、^
時(shí),對(duì)字符串,默認(rèn)左對(duì)齊;對(duì)數(shù)值,默認(rèn)右對(duì)齊
>>> "{:10}".format("a")
'a '
有了上面的鋪墊,寫(xiě)一個(gè)整齊的 1-10 的平方、立方表就很容易了。
>>> for x in range(1, 11):
... print('{:2d} {:3d} {:4d}'.format(x, x*x, x*x*x))
...
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
對(duì)齊的思想其實(shí)就是在不足的位自動(dòng)給你補(bǔ)上空格。
如果不想使用空格,可以指定你想要的字符進(jìn)行填充,比如下面我用 0
來(lái)補(bǔ)全。
>>> for x in range(1, 11):
... print('{:02d} {:03d} {:04d}'.format(x, x*x, x*x*x))
...
01 001 0001
02 004 0008
03 009 0027
04 016 0064
05 025 0125
06 036 0216
07 049 0343
08 064 0512
09 081 0729
10 100 1000
第二種:使用 ljust, rjust
左對(duì)齊
>>> "a".ljust(10)
'a '
右對(duì)齊
>>> "a".rjust(10)
' a'
居中
>>> "a".center(10)
' a '
同樣寫(xiě)一個(gè)整齊的 1-10 的平方、立方表
>>> for x in range(1, 11):
... print(' '.join([str(x).ljust(2), str(x * x).ljust(3), str(x * x * x).ljust(4)]))
...
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
如果不想使用空格,而改用 0 來(lái)補(bǔ)齊呢?可以這樣
>>> for x in range(1, 11):
... print(' '.join([str(x).rjust(2, "0"), str(x*x).rjust(3, "0"), str(x*x*x).rjust(4, "0")]))
...
01 001 0001
02 004 0008
03 009 0027
04 016 0064
05 025 0125
06 036 0216
07 049 0343
08 064 0512
09 081 0729
10 100 1000
審核編輯:湯梓紅
-
字符串
+關(guān)注
關(guān)注
1文章
575瀏覽量
20468 -
python
+關(guān)注
關(guān)注
55文章
4767瀏覽量
84375
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論