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