주어진:
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
으로 변수를 인쇄합니다 .fill
0
width
2
특정 예제의 경우 루프 에서이 작업을 멋지게 수행 할 수 있습니다.
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
설명서에서 % 를 사용하여 문자열 형식에 대한 자세한 내용을 읽으십시오 .