日常生活中,隨處可見各種各樣的編號,能不能用Python生成這樣的編號呢?
解決方案
對數據進行編號,也是對字符串格式化操作的一種方式,設置填充字符(編號通常設置0),設置對齊方式時可以使用<、>和^符號表示左對齊、右對齊和居中對齊,對齊填充的符號在“寬度”范圍內輸出時填充,如:
print('{:0>3}'.format(1))
print('{:0>5}'.format('03'))
print('a{:0>6}'.format(111))
輸出結果為:
001 00003 a000111 |
要生成的編號通常比較復雜,如根據當天的日期建立編號,或者批量生成編號,或者將給定的批量數據中的數字轉換成位數固定的編號,下面給出實現如上編號的實現方法:
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位編號
輸出結果為:
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 |
要實現嵌套編號,如A001-A005,B001-B005,C001-005的嵌套編號。代碼如下:
foriinrange(65,69):
forjinrange(1,6):
data=chr(i)+'{:0>3}'.format(j)+' '
print(data,end='')
print()
結果輸出如下:
審核編輯:劉清
-
字符串
+關注
關注
1文章
585瀏覽量
20582 -
python
+關注
關注
56文章
4807瀏覽量
84970
發布評論請先 登錄
相關推薦
評論