日常生活中,隨處可見(jiàn)各種各樣的編號(hào),能不能用Python生成這樣的編號(hào)呢?
解決方案
對(duì)數(shù)據(jù)進(jìn)行編號(hào),也是對(duì)字符串格式化操作的一種方式,設(shè)置填充字符(編號(hào)通常設(shè)置0),設(shè)置對(duì)齊方式時(shí)可以使用<、>和^符號(hào)表示左對(duì)齊、右對(duì)齊和居中對(duì)齊,對(duì)齊填充的符號(hào)在“寬度”范圍內(nèi)輸出時(shí)填充,如:
print('{:0>3}'.format(1))
print('{:0>5}'.format('03'))
print('a{:0>6}'.format(111))
輸出結(jié)果為:
001 00003 a000111 |
要生成的編號(hào)通常比較復(fù)雜,如根據(jù)當(dāng)天的日期建立編號(hào),或者批量生成編號(hào),或者將給定的批量數(shù)據(jù)中的數(shù)字轉(zhuǎn)換成位數(shù)固定的編號(hào),下面給出實(shí)現(xiàn)如上編號(hào)的實(shí)現(xiàn)方法:
importdatetime
wx=datetime.datetime.now().date()
now=datetime.datetime.now()
print(str(wx)+'{:0>3}'.format(1)) #年月日+3位編號(hào)
print('{:%Y%m%d}{:0>3}'.format(now,1)) #年月日+3位編號(hào)
print('{:%Y%m%d}NO{:0>5}'.format(now,5)) #年月日+NO+3位編號(hào)
print('{:%Y}NO{:0>5}'.format(now,5)) #日期+NO+3位編號(hào)
print('{:%H%M}NO{:0>3}'.format(now,5)) # #時(shí)鐘+分+NO+3位編號(hào)
輸出結(jié)果為:
2019-08-01001 20190801001 20190801NO00005 2019NO00005 1155NO005 20190801 NO001 01 NO001 1155 NO001 |
#批量生成編號(hào)
foriinrange(1,6):
print('mr{:0>3}'.format(i))
mr001 mr002 mr003 mr004 mr005 |
要實(shí)現(xiàn)嵌套編號(hào),如A001-A005,B001-B005,C001-005的嵌套編號(hào)。代碼如下:
foriinrange(65,69):
forjinrange(1,6):
data=chr(i)+'{:0>3}'.format(j)+' '
print(data,end='')
print()
結(jié)果輸出如下:
審核編輯:劉清
-
字符串
+關(guān)注
關(guān)注
1文章
585瀏覽量
20613 -
python
+關(guān)注
關(guān)注
56文章
4811瀏覽量
85079
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論