0

Pythonでこれを行う方法についての手がかりがありません。問題は次のとおりです。たとえば、次のような注文番号があります。

1
2
...
234567

注文番号の最後の 4 桁のみを抽出する必要があり、注文番号が 4 桁未満の場合はゼロに置き換えます。

必要な出力は次のようになります。

0001
0002
...
4567

手がかりはありますか?私はこれで少し迷っています。

よろしくお願いします、

4

2 に答える 2

4

これを試して:

>>> n = 234567
>>> ("%04d"%n)[-4:]
'4567'

説明 (ドキュメント):

"%04d"%n --> get a string from the (d)ecimal n, putting leading 0s to reach 4 digits (if needed)

ただし、この操作ではすべての数字が保持されます。

>>> n = 7
>>> "%04d"%n
'0007'   
>>> n = 234567
>>> "%04d"%n
'234567'

したがって、最後の 4 桁が必要な場合は、位置 -4 から文字を取ります (つまり、右から 4 文字。「スライス表記」を扱う場合はこちらを参照してください)。

>>> n = 234567
>>> ("%04d"%n)[-4:]
'4567'
于 2013-03-01T18:41:08.263 に答える
2

次のようなもの:

>>> test = [1, 234567]
>>> for num in test:
        last4 = str(num)[-4:]
        print last4.zfill(4)

0001
4567
于 2013-03-01T18:42:16.463 に答える