[python] 앞에 0이있는 표시 번호

주어진:

a = 1
b = 10
c = 100

두 자리 미만의 모든 숫자에 선행 0을 표시하려면 어떻게합니까?

이것은 내가 기대하는 결과입니다.

01
10
100



답변

Python 2 (및 Python 3)에서 다음을 수행 할 수 있습니다.

print "%02d" % (1,)

기본적 %는 비슷 printf하거나 sprintf(참조 문서를 ).


Python 3. +의 경우 다음과 같은 동작을 수행 할 수 있습니다 format.

print("{:02d}".format(1))

Python 3.6+의 경우 f-string을 사용하여 동일한 동작을 수행 할 수 있습니다 .

print(f"{1:02d}")


답변

당신은 사용할 수 있습니다 str.zfill:

print(str(1).zfill(2))
print(str(10).zfill(2))
print(str(100).zfill(2))

인쇄물:

01
10
100


답변

Python 2.6 이상 및 3.0 이상에서는 format()문자열 메소드를 사용합니다 .

for i in (1, 10, 100):
    print('{num:02d}'.format(num=i))

또는 내장 (단일 번호) 사용 :

print(format(i, '02d'))

새로운 포맷 기능에 대해서는 PEP-3101 설명서를 참조하십시오 .


답변

print('{:02}'.format(1))
print('{:02}'.format(10))
print('{:02}'.format(100))

인쇄물:

01
10
100


답변

아니면 이거:

print '{0:02d}'.format(1)


답변

에서 파이썬> = 3.6 , 당신은 간결 사용하여 도입 된 새로운 F-문자열이 작업을 수행 할 수 있습니다

f'{val:02}'

값이 및 a 인 이름 val으로 변수를 인쇄합니다 .fill0width2

특정 예제의 경우 루프 에서이 작업을 멋지게 수행 할 수 있습니다.

a, b, c = 1, 10, 100
for val in [a, b, c]:
    print(f'{val:02}')

어떤 인쇄 :

01
10
100

f- 문자열에 대한 자세한 내용은 PEP 498 을 소개합니다.


답변

x = [1, 10, 100]
for i in x:
    print '%02d' % i

결과 :

01
10
100

설명서에서 %사용하여 문자열 형식에 대한 자세한 내용을 읽으십시오 .