[Python] print문 오른쪽/왼쪽 정렬, 은행번호표 표현, 주식형태 표현하기

728x90

엑셀을 사용할 때 숫자를 오른쪽 정렬 or 왼쪽 정렬을 사용해서 표현하는데, 파이썬의 print문 또한 오른쪽 정렬, 왼쪽 정렬로 표현할 수 있습니다. 또한 은행에서 번호표를 받으면 나오는 001과 같은 내용도 print문으로 쉽게 표현 가능합니다.



 오른쪽 정렬, 왼쪽 정렬 

기존 print문으로 출력을 하면 왼쪽정렬이 되어서 나옵니다. 
오른쪽 정렬을 하기 위해서는 rjust()를 사용해야 합니다.

ljust(전체자리수) : 왼쪽 정렬
rjust(전체자리수) : 오른쪽 정렬
num1=10; num2=300; num3=50000

# 기존
print(num1)
print(num2)
print(num3)
print()

# 오른쪽 정렬
print(str(num1).rjust(5)) # 5칸 자리수 & 오른쪽 정렬
print(str(num2).rjust(5))
print(str(num3).rjust(5))
print()

# 왼쪽 정렬
print(str(num1).ljust(5))
print(str(num2).ljust(5))
print(str(num3).ljust(5))



 은행번호표 표현하기 

은행에 가서 번호표를 뽑으면 001, 002로 나타나는데, 파이썬으로 숫자를 바로 표현하면 단순히 1,2,3,...으로 나타납니다. 은행번호표와 같이 파이썬에서도 값이 나타나게 하려면 어떻게 해야 할까요?


기본적으로 데이터 값이 하나면 print문은 해당 값을 표현할 공간만큼만 나타냅니다. 예를 들어 10이면 1과0이니깐 2칸 만큼의 크기만 print문이 결과로 나타냅니다. 해당 숫자를 번호표 형식으로 나타내려면 앞 부분에 추가로 0이 들어갈 부분을 지정해줘야 합니다.


zfill(전체자리수) : 숫자가 들어가고 남는 부분은 0으로 채워줌

num1=5; num2=55; num3=555

# 은행번호표
print(str(num1).zfill(3))
print(str(num2).zfill(3))
print(str(num3).zfill(3))



 기타 표현법 

엑셀에서 사용하는 것처럼 print문에서 다양하게 표현할 수 있습니다.

# 빈 자리는 빈공간으로 두고, 오른쪽 정렬을 하되, 총 10자리 공간을 확보
print("{0: >10}".format(500))

# 양수일 땐 앞에 + 표시, 음수일 땐 앞에 - 표시
print("{0: >+10}".format(500))
print("{0: >+10}".format(-500))

# 왼쪽 정렬하고, 나머지 빈 칸은 _으로 채움
print("{0:_<10}".format(500))

# 3자리수 마다 콤마를 찍어주기
print("{0:,}".format(10000000000))

# 3자리수 마다 콤마 & +,-부호도 붙이기
print("{0:+,}".format(10000000000))
print("{0:+,}".format(-10000000000))

# 3자리수 마다 콤마 & +,-부호 & 자릿수 확보한 후 빈 자리는 _로 채우기
print("{0:_<+30,}".format(10000000000))

# 소수점을 특정 자리수까지만 표시
print("{0:.6f}".format(5/3))


댓글

Designed by JB FACTORY